Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:darix:apps
discourse
_service:obs_scm:discourse.changes
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:discourse.changes of Package discourse
------------------------------------------------------------------- Wed Jul 03 13:44:18 UTC 2024 - obs-service-tar-scm@invalid - Update to version 3.2.3+git0.473248381: * Bump version to v3.2.3 * SECURITY: Don't allow suspending staff users via other_user_ids param * SECURITY: Avoid the use of `Object#send` in `Onebox::Engine::StandardEmbed` * SECURITY: Fix Stored-dom XSS via Facebook Oneboxes * SECURITY: Update reviewable user serializer payload * SECURITY: Add FastImage SSRF safe freedom patch * PERF: eager load field changes (#27675) * Update translations (#27644) * Update translations (#27605) * Update translations (#27512) * DEV: Run flake check only on discourse/discourse (#27350) (#27415) * Update translations (#27418) * DEV: Also fetch user when granting admin (#27384) * Update translations (#27322) * DEV: Fix the order of operations in themes-frontend (#27319) * Update translations (#27275) * Update translations (#27105) * FIX: is_my_own? check for users who are anonymously doing actions (#25716) * DEV: Add post_action_users_list modifier for PostActionUsersController (#25740) * DEV: Add a plugin modifier for user_action_stream_builder (#25691) * DEV: Don't run `discourse-ai` plugin specs when running against stable (#27096) * DEV: Pull compatible themes in tests workflow (#27094) * Backport dependencies upgrade to make stable compatible with Ruby 3.3 (#27091) * FIX: Allow redirect when downloading maxmind database (#26333) (#27040) * Bump version to v3.2.2 * Update translations (#27018) * FIX: Don't unnecessarily scrub query params from homepage (stable) (#26960) * Update translations (#26904) * Update translations (#26822) * FIX: Improve handling of 'PublicExceptions' when bootstrap_error_pages enabled (#26737) * Update translations (#26714) * Update translations (#26652) * Update translations (#26576) * Update translations (#26464) * Update translations (#26369) * DEV: Switch to Chromium in CI * PERF: only allow one reviewable notification at a time (#26331) * Update translations (#26243) * UX: Fix the video spinner css (#25770) * UX: Tweak play button css (#25754) * FIX: Add a boarder around the video placeholder play button (#25727) * FIX: Handle old Firefox versions that do not support isConditionalMediationAvailable (#25549) * FIX: missing translation of guidelines_topic.body (#25505) * Bump version to v3.2.1 * SECURITY: Limit invites params length * SECURITY: Add rate limits for uploads * SECURITY: Generate more category CSS on client * SECURITY: Prevent large staff actions causing DoS * SECURITY: Don't disclose the existence of secret subcategories * Update translations (#26137) * UX: Fix the video spinner css (#25770) * UX: Tweak play button css (#25754) * FIX: Set the video background to be black (#25744) * FIX: Add a boarder around the video placeholder play button (#25727) * FEATURE: Auto generate and display video preview image (#25633) * FIX: Video playback on iOS (#25513) * Update translations (#26031) * FEATURE: site setting to include post in penalty messages (#26026) * Update translations (#25915) * DEV: resolve on conflict (#25848) * Update translations (#25768) * DEV: Add SecureUploadEndpointHelpers for controllers (#25758) (#25769) * DEV: Add conflict resolution to migration min trust level for here mention to group [stable] (#25668) * Update translations (#25660) * FIX: Webauthn origin was incorrect for subfolder setups (#25651) (#25654) * Update translations (#25580) * FIX: Correctly save group invites (stable) (#25567) * FIX: Update themes javascript cache after running themes migrations (#25564) * FIX: Site-setting integer input type (#25488) * Bump version to v3.2.0 * Bump version to v3.2.0.beta5 * DEV: Remove version-number-based logic (#25482) * Bump version to v3.1.5 * SECURITY: Properly escape user content within `<noscript>` (stable) * SECURITY: Properly escape user content within `<noscript>` * Update translations (#25477) * Update translations (#25476) * DEV: Add early support for aarch64 dev env * FIX: Chat messages exporter (#25461) * FIX: Hide 'My Threads' if no followed channels have threads (#25470) * FIX: Make long thread titles readable (#25456) * DEV: Update confirm-email flows to use central 2fa and ember rendering (#25404) * FEATURE: support silent internal links (#25472) * FIX: Do not show quote copy button to anon (#25471) * Build(deps-dev): Bump crack from 0.4.5 to 0.4.6 (#25467) * DEV: Wrap user summary category rows in plugin outlet (#25466) * DEV: Add general pretender for passkey challenge (#25432) * FIX: missing ampersand in input class selector (#25464) * DEV: PluginOutlet addition in user/notifications-index & summary class names (#25463) * DEV: add site setting to disable watched word checking in user fields (#25411) * FIX: Avoid flash-of-unstyled-content in Safari with bug workaround (#25462) * UX: add bg style to input field type number (#25460) * DEV: Fix alternative output directories in ember-cli proxy (#25291) * DEV: Add admin warning for sites on Ember 3 (#25459) * DEV: Allow `run_second_factor!` to be used before login (#25420) * Build(deps-dev): Bump @floating-ui/dom from 1.5.4 to 1.6.1 in /app/assets/javascripts (#25449) * DEV: Automatically update groups for test users with explicit TL (#25415) * DEV: use chat tracking state manager for unread threads (#25457) * FEATURE: Mobile Chat Notification Badges (#25438) * DEV: Set `synchronous_commit` to `off` in `start_test_db` (#25453) * Revert "Build(deps): Bump @glimmer/syntax from 0.84.3 to 0.88.0 in /app/assets/javascripts (#25450)" (#25455) * DEV: Create unlogged tables by default in the test environment (#25451) * DEV: Clean up hashtag code (#25397) * Build(deps): Bump @glimmer/syntax from 0.84.3 to 0.88.0 in /app/assets/javascripts (#25450) * Build(deps-dev): Bump capybara from 3.39.2 to 3.40.0 (#25448) * Make site setting descriptions easier to understand (#25452) * FIX: allows to translate yesterday (#25446) * FIX: global selector needed to avoid clicks registering on other elements (#25445) * FIX: remove excess margin after title (#25444) * FIX: export csv file failed message (#25443) * PERF: eliminate some slow CSS selectors (#25392) * UX: improve mobile table editor button location (#25426) * UX: fix and improve topic title badge spacing (#25441) * FIX: Deprecate NumberField, use <input> instead (#25434) * FIX: Auto-populate group field in invite modal on group route (#25431) * FIX: Set allowUncategorized SelectKit option (#25440) * UX: chat > channel info: show member count on tab (#25439) * UX: overflow fix for add participants to PM on mobile (#25437) * DEV: remove chat footer thread count reference (#25436) * DEV: Convert min_trust_level_to_tag_topics to groups (#25273) * Build(deps-dev): Bump sqlite3 from 1.7.0 to 1.7.1 (#25430) * Build(deps-dev): Bump rspec-rails from 6.1.0 to 6.1.1 (#25429) * UX: improve featured link positioning in topic titles (#25427) * Build(deps): Bump the babel group in /app/assets/javascripts with 2 updates (#25428) * DEV: Log any errors for the user csv export (#25422) * FIX: Remove css that should not have been added (#25425) * DEV: Move Plugin::Instance.register_search_group_query_callback out of protected (#25413) * WIP: Experiemental Bulk Topic Actions Dropdown (#25245) * FEATURE: display last message on mobile (#25384) * DEV: Don't check for ResizeObserver existence (#25419) * FIX: Computed property override error for webhook.categories (#25418) * DEV: Use `document.body` directly (#25417) * FIX: Allow `category` to be set on `topic` model instances (#25416) * DEV: Remove full group refreshes from tests (#25414) * DEV: Improve site setting rename generator (#25354) * DEV: Move admin sidebar out of initializer (#25396) * DEV: Exclude system users when calculating group user count (#25400) * DEV: Move min_trust_to_post_embedded_media to group setting (#25238) * UX: simplify education message layout on empty /new route (#25412) * FIX: FinalDestination::HTTP: validate address argument (#25407) * UX: fix spacing for about page headings (#25410) * Build(deps-dev): Bump webpack from 5.89.0 to 5.90.0 in /app/assets/javascripts (#25409) * Build(deps-dev): Bump rubocop from 1.60.1 to 1.60.2 (#25408) * DEV: removes flakey spec (#25405) * DEV: Add PluginOutlet wrapping user notifications EmptyState (#25406) * UX: add spacing in new topic draft text - timestamp (#25403) * DEV: Use `service:` lookups instead of `:main` (#25402) * DEV: Update js linting setup (#25365) * DEV: Add missing service injections to app route (#25401) * DEV: Make the flaky keyboard nav test chrome-only (#25378) * FEATURE: add option to sort topic query result via plugin. (#25349) * DEV: Add delegated Group#human_users scope (#25398) * DEV: remove pseudo-class selector in chat channel page object (#25399) * DEV: refactor topic-map participants into glimmer component (#25350) * DEV: remove user thread count route (#25385) * DEV: fix typo in `addSidebarSection` API example (#25393) * Build(deps-dev): Bump selenium-webdriver from 4.16.0 to 4.17.0 (#25390) * Build(deps-dev): Bump selenium-devtools from 0.120.0 to 0.121.0 (#25389) * UX: Add "filter for more" to icon picker (#25263) * Update translations (#25387) * Update translations (#25386) * FEATURE: Enable passkeys by default (#25340) * FIX: use site setting to show my threads chat footer tab (#25277) * FEATURE: trigger app event for click tracking (#25381) * FIX: renders channels-list wrapper only once (#25383) * DEV: Implement text() for SidebarChatMyThreadsSection (#25371) * UX: remove legacy option copy in nav menu setting (#25382) * FIX: Minor bookmark issues (#25358) * DEV: Move core plugin TL -> group settings (#25355) * Build(deps-dev): Bump parser from 3.3.0.4 to 3.3.0.5 (#25376) * Build(deps): Bump highline from 3.0.0 to 3.0.1 (#25353) * DEV: Remove unused chat css (#25363) * DEV: Print out backtraces of all threads when spec times out on CI (#25356) * Build(deps): Bump logster from 2.15.0 to 2.16.0 (#25377) * DEV: adds before-header-logo outlet (#25196) * DEV: Trigger DiscourseEvent on push notification send (#25375) * DEV: Switch to bundled Ember types (#25370) * FIX: Allow sanitized-HTML in GH issues and categories oneboxes. (#25374) * FEATURE: Add support for custom site name in Open Graph metadata (#25373) * DEV: Add script to generate schema for intermediate DB (#24484) * PERF: Better query performance for user avatar consistency check. (#25342) * FIX: clear db_backup_port default value * DEV: Reset DiscoursePluginRegistry after spec (#25369) * FIX: Radar chart not widely available. (#25368) * FIX: search escape handler should be on keydown (#25364) * FIX: User-tips regression in #25361 (#25367) * DEV: Convert activation-email-form to gjs (#25343) * DEV: Clean up user-tips service (#25361) * DEV: Update shoulda-matchers to 6.1.0 (#25362) * DEV: Convert activation-controls to gjs (#25344) * DEV: Convert about-page-users to gjs (#25341) * FIX: Ignore invalid images when shrinking uploads (#25346) * DEV: Remove "(Ember 5)" suffix from CI job names (#25347) * Build(deps-dev): Bump the types group in /app/assets/javascripts with 1 update (#25351) * Build(deps): Bump actions/cache from 3 to 4 (#25359) * FIX: User group check should return true for system user for auto groups (#25357) * UX: `user.account_possessive` was impossible to translate (#25331) * FIX: correctly save scroll position in channel (#25345) * FIX: correctly exclude muted channels from thread unreads (#25339) * FIX: fixed a bug where keyboard on ios was broken (#25338) * DEV: Add additional arg to appEvents triggered on notification click (#25317) * FIX: ensures active message is cleared on threads opening (#25337) * FEATURE: save/retrieve scroll position in chat channel (#25336) * FEATURE: implements dates separators for threads (#25335) * DEV: Promote historic post_deploy migrations (#25334) * FIX: Localize text in github oneboxes (#25327) * FEATURE: Allow users to DM groups in chat (#25189) * DEV: Promote historic post_deploy migrations (#25329) * DEV: Add more details to getOwner deprecation (#25309) * FIX: Rake task executed wrong method (#25323) * Build(deps-dev): Bump sass from 1.69.7 to 1.70.0 in /app/assets/javascripts (#25324) * DEV: Convert min_trust_level_for_user_api_key to groups (#25299) * FIX: Account for moderators in group to TL mapping (#25326) * FEATURE: Add hot as a homepage option (#25325) * Build(deps): Bump bigdecimal from 3.1.5 to 3.1.6 (#25322) * Build(deps): Bump sass-embedded from 1.69.7 to 1.70.0 (#25319) * Build(deps): Bump sassc-embedded from 1.69.1 to 1.70.0 (#25318) * Build(deps-dev): Bump minitest from 5.21.1 to 5.21.2 (#25321) * Build(deps): Bump logster from 2.14.0 to 2.15.0 (#25320) * A11Y: Show focus state in user PM topic list (#25313) * DEV: add tag arg to after-create-topic-button outlet (#25315) * DEV: Add link to Discover page (#25314) * Corrected `reply_to_user_id` to reference original posters ID instead of itself. (#25307) * FIX: errors when loading My Threads and Channel Threads (#25310) * DEV: Replace period mixin with a component (#25292) * FIX: prevent popup when thread count request fails (#25308) * DEV: Convert min_trust_to_post_links to groups (#25298) * PERF: Avoid loading the whole record when we only need id (#25301) * Build(deps): Bump terser from 5.26.0 to 5.27.0 in /app/assets/javascripts (#25306) * DEV: add anonymousOnly opt to registerTopicFooterButton (#25293) * Build(deps-dev): Bump rubocop from 1.60.0 to 1.60.1 (#25305) * DEV: Update `reply_to_user_id` after bulk imports (#25289) * DEV: Replace lazy_load_categories site setting (#25302) * DEV: Make lazy_load_categories setting use groups (#25282) * FIX: Allow staff to change group members visibility level for automatic groups (#25281) * DEV: Change categories#index loading strategy (#25232) * FIX: "Action Logs" button on user admin page (#25300) * DEV: add system test for topic map (#25242) * DEV: Redesign chat mentions (#24752) * FIX: set channels tab as default on mobile chat footer (#25296) * UX: hide draft post notice on mobile chat (#25297) * FEATURE: improvements to hot algorithm (#25295) * DEV: Allow test-prof to be disabled completely with `PREFABRICATION` env (#25294) * FEATURE: experiment with hot sort order (#25274) * Build(deps-dev): Bump imports-loader from 4.0.1 to 5.0.0 in /app/assets/javascripts (#25288) * Build(deps-dev): Bump the types group in /app/assets/javascripts with 20 updates (#25287) * Build(deps): Bump image_size from 3.3.0 to 3.4.0 (#25286) * Build(deps-dev): Bump bullet from 7.1.5 to 7.1.6 (#25283) * Build(deps): Bump logster from 2.13.1 to 2.14.0 (#25285) * Build(deps): Bump concurrent-ruby from 1.2.2 to 1.2.3 (#25284) * DEV: Add site setting for Discourse Discover (#25266) * DEV: Add 'i18n' label to PRs which include changes related to i18n * DEV: Don't run 'labeler' GitHub Action for translator-bot * Update translations (#25279) * Update translations (#25278) * PERF: Skip validations when hotlinked images are replaced in posts * DEV: Allow rebakes to generate optimized images at the same time * REFACTOR: Reuse `Discourse.store` instance * FIX: correctly support safe-area-inset-bottom in footer (#25276) * FEATURE: Mobile Chat Footer Redesign (#25161) * FIX: Use category hashtag instead of link in guidelines_topic.body (#25253) * DEV: Fix flaky table builder system spec (#25272) * DEV: Avoid duplicating constant between client and server (#25179) * DEV: Compile theme migrations javascript files when running theme qunit (#25219) * Build(deps): Bump stackprof from 0.2.25 to 0.2.26 (#25269) * Build(deps-dev): Bump rubocop from 1.59.0 to 1.60.0 (#25267) * Build(deps-dev): Bump parser from 3.3.0.3 to 3.3.0.4 (#25268) * FIX: Update global rate limiter keys/messages to clarify user vs ip (#25264) * FEATURE: add username header to global-rate-limited responses (#25265) * FIX: Trigger search app event being triggered multiple times (#25250) * Revert "DEV: Convert min_trust_level_to_tag_topics to groups (#25258)" (#25262) * UX: show the SSO options when creating an account on mobile (#25260) * DEV: update .gitignore file (#25261) * DEV: Convert min_trust_level_to_tag_topics to groups (#25258) * FIX: use getter and setter for computed properties (#25259) * UX: Chat composer dropdown styling mobile (#25244) * FIX: Enforce proper max for clean_orphan_uploads_grace_period_hours (#25235) * Build(deps-dev): Bump minitest from 5.20.0 to 5.21.1 (#25257) * Build(deps): Bump bootsnap from 1.17.0 to 1.17.1 (#25256) * Build(deps-dev): Bump shoulda-matchers from `d611911` to `367500d` (#25255) * Build(deps-dev): Bump parser from 3.3.0.2 to 3.3.0.3 (#25254) * UX: adjust onebox styles for chat, title line-height (#25249) * DEV: remove `:has` selector from chat settings (#25248) * UX: cleaning up some invite page styles (#25247) * DEV: remove old keyboard modal CSS (#25246) * DEV: labeler GitHub action was broken after upgrade to v5 (#25243) * DEV: Add apply_modifier in Email::Renderer for html modifications (#25205) * UX: remove lock icon positioning (#25241) * UX: chat header size and alignments (#25239) * UX: change chat back button to btn-transparent (#25184) * FIX: set microdata schema for topic on missing first post (#25195) * FIX: exclude empty posts from microdata schema for topic (#25198) * FIX: Ensure consistent `datePublished` on follow-up pages in topic microdata schema (#25130) * DEV: Add more debugging information to AR query logs on GitHub actions (#25237) * FIX: Admin sidebar on mobile was still showing forum panel (#25236) * DEV: Fix circular import dependency on user topic list route (#25234) * FIX: Admin sidebar fixes and custom link registration (#25200) * DEV: remove `:has` selector from composer (#25233) * A11Y: Allow keyboard users to scroll help modal (#25226) * DEV: add `topicProgressExpanded` arg to `topic-navigation` outlet (#25231) * DEV: Minor cleanup of navbar components (#25222) * FEATURE: Allow sorting group members by custom field via API (#25061) * FIX: respect creation date when paginating group activity posts (#24993) * FIX: Delete topicNotificationLevel from transformed post before creatingRecord in post widget (#25229) * A11Y: Add role="button" to composer cancel button (#25228) * A11Y: Add `describedby` associations in create account modal (#25227) * A11Y: Fix sidebar toggle icon color contrast (#25225) * DEV: Use correct vendor file when using ember-cli proxy in prod mode (#25224) * DEV: implements category-row as a glimmer template (#25223) * DEV: Don't apply this-fallback to strict-mode components (#25216) * FIX: convert the route to Ember Octane to fix the dependency issue. (#25221) * DEV: Add `skip_migrations` param when importing remote theme (#25218) * FIX: Don't use joins to filter (#24904) * FIX: Hide deprecated site setting that was missed out (#25220) * DEV: Convert review_media_unless_trust_level to group-based setting (#25201) * FIX: Logs api scope not working (#25215) * Build(deps): Bump follow-redirects from 1.15.2 to 1.15.4 in /app/assets/javascripts (#25212) * FIX: Do not show themes list filter unless there are 10+ items (#25202) * FIX: Preload the right fields on categories (#25213) * Build(deps-dev): Bump ember-exam from 8.0.0 to 9.0.0 in /app/assets/javascripts (#25210) * A11Y: Better contrast for lightbox overlay links (#25208) * FIX: Serialize categories when viewing a topic (#25206) * DEV: Use ember 5 in package.json files by default (#25207) * FIX: Chat summary email link in subfolder setups (#25188) * FIX: Correctly rewrite script/link tags in the proxy (#25204) * DEV: Switch default Ember version to 5 (#25203) * DEV: Unsilence link-to deprecation for ember-cli build (#25197) * FEATURE: option to sort user and group private messages. (#25146) * Fix OpenAPI doc issue (#23619) * UX: ensure links styled as buttons don't get visited color (#25199) * Build(deps): Bump faraday from 2.8.1 to 2.9.0 (#25194) * Build(deps): Bump google-protobuf from 3.25.1 to 3.25.2 (#25193) * FIX: Incorrect admin sidebar setting migration (#25192) * DEV: Pass `showDismiss` to panel-body-bottom outlet (#25191) * UX: remove specific href styling (#25183) * DEV: Add env var to bin/docker/exec (#25187) * FEATURE: Prefer topic_embed's cached content when summarizing (#25190) * Update translations (#25186) * Update translations (#25185) * DEV: add plugin outlet to admin badge page (#25175) * UX: add max width for c-navbar on mobile to prevent horizontal scroll (#25182) * FIX: Hide deprecated site settings that were missed out before (#25180) * DEV: Convert min_trust_to_send_email_messages to groups (#24942) * UX: Add title attr to thread titles (#25178) * DEV: Add setUserMenuNotificationsLimit plugin-api method (#25119) * PERF: Prefer subquery instead of two queries (#25167) * DEV: Change enable_admin_sidebar_navigation to group setting (#25159) * Build(deps): Bump the babel group in /app/assets/javascripts with 1 update (#25176) * Build(deps-dev): Bump rubocop-factory_bot from 2.25.0 to 2.25.1 (#25173) * Build(deps): Bump regexp_parser from 2.8.3 to 2.9.0 (#25174) * Build(deps): Bump highline from 2.1.0 to 3.0.0 (#25150) * FIX: refactor calling of timed backup deletion * Bump version to v3.1.4 * FEATURE: Add loading spinner on categories page (#25171) * UX: fix review queue category and tag alignment, whitespace (#25166) * Bump version to v3.2.0.beta5-dev * Bump version to v3.2.0.beta4 * Build(deps): Bump puma from 6.4.1 to 6.4.2 (#25165) * Revert "DEV: Version bumps for main: v3.2.0.beta4, v3.2.0.beta5-dev (#25168)" (#25169) * DEV: Version bumps for main: v3.2.0.beta4, v3.2.0.beta5-dev (#25168) * SECURITY: Prevent guest users from accessing secure uploads when login required * SECURITY: Store custom field values according to their registered type * SECURITY: Run custom field validations with save_custom_fields * SECURITY: ensures mentioned_users is limited * FIX: Remove all noscript elements, not just the first one (#25145) * DEV: Pass dismissButtonClick to panel-body-bottom outlet (#25163) * SECURITY: Prevent guest users from accessing secure uploads when login required * add tests * SECURITY: Store custom field values according to their registered type * SECURITY: Run custom field validations with save_custom_fields * SECURITY: ensures mentioned_users is limited * DEV: Use html-rewriter-wasm/lol_html instead of JSDOM (#25144) * Revert "Build(deps): Bump regexp_parser from 2.8.3 to 2.9.0 (#25149)" (#25158) * DEV: Update bundler (#25125) * FEATURE: Add copy quote button to post selection menu (#25139) * Build(deps-dev): Bump jsdom from 23.0.1 to 23.2.0 in /app/assets/javascripts (#25156) * Build(deps): Bump net-smtp from 0.4.0 to 0.4.0.1 (#25147) * Build(deps): Bump regexp_parser from 2.8.3 to 2.9.0 (#25149) * Build(deps-dev): Bump bullet from 7.1.4 to 7.1.5 (#25151) * Build(deps-dev): Bump rubocop-rspec from 2.26.0 to 2.26.1 (#25152) * Build(deps): Bump net-imap from 0.4.9 to 0.4.9.1 (#25153) * Build(deps): Bump net-http from 0.4.0 to 0.4.1 (#25155) * Build(deps-dev): Bump @floating-ui/dom from 1.5.3 to 1.5.4 in /app/assets/javascripts (#25157) * Build(deps-dev): Bump ruby-prof from 1.6.3 to 1.7.0 (#25154) * FIX: Sort plugins by their setting category name (#25128) * UX: add missing button class to bulk-select (#24758) * DEV: less generic SVG ids to avoid clash (#25003) * DEV: Concerns can use class_methods (#24875) * FIX: Validate each value in an array custom field separately (#24659) * FIX: Allow setting an array custom field to a singleton value (#24636) * DEV: Allow setting max_length for field types using the plugin API (#24635) * DEV: Allow setting different custom field length limits by key (#24505) * DEV: Refactor save_custom_fields methods (#24495) * DEV: Deprecate array custom fields (#24492) * FIX: Preserve custom field array order (#24491) * DEV: Don't define methods in an included block (#24433) * DEV: Remove custom field regexes (#24390) * FIX: Ensure that categories array is not undefined (#25141) * FIX: Stop optimizing WEBPs into JPGs (#25140) * FEATURE: Cache embed contents in the database (#25133) * Revert "DEV: Skip MinioRunner until min.io renews their cert (#25137)" (#25138) * DEV: Convert min_trust_level_to_create_tag to groups (#24899) * DEV: Skip MinioRunner until min.io renews their cert (#25137) * FEATURE: used, unused, enabled, disabled component filter (#25136) * Build(deps-dev): Bump rubocop-rspec from 2.25.0 to 2.26.0 (#25135) * Build(deps-dev): Bump rubocop-factory_bot from 2.24.0 to 2.25.0 (#25134) * DEV: pass renderTimeline to topic-navigation outlet (#25132) * DEV: Add new chat metrics (#23872) * UX: Improve border-radius stuff in chat-message actions (#25129) * FIX: customise themes/components CSS (#25127) * FEATURE: filter themes and components (#25105) * DEV: Minor formatting fix when reporting server exceptions (#25126) * DEV: add `btn-default` class to review action buttons (#25095) * Build(deps-dev): Bump rubocop-capybara from 2.19.0 to 2.20.0 (#25124) * Build(deps): Bump sass-embedded from 1.69.6 to 1.69.7 (#25123) * Build(deps): Bump puma from 6.4.0 to 6.4.1 (#25120) * Build(deps-dev): Bump sass from 1.69.6 to 1.69.7 in /app/assets/javascripts (#25118) * Build(deps): Bump excon from 0.108.0 to 0.109.0 (#25121) * Build(deps-dev): Bump shoulda-matchers from `2a2b062` to `d611911` (#25122) * FIX: `move-topics` topic search losing focus (#25116) * Revert "DEV: Remove precompiled protobuf requirement for Ruby 3.3 compatibility (#25115)" (#25117) * DEV: Make the Glimmer Search Menu the new default (#25092) * FIX: 500 error when reviewable has a missing message (#25113) * DEV: Remove precompiled protobuf requirement for Ruby 3.3 compatibility (#25115) * DEV: Upgrade from Ember 5.4 to 5.5 (#25114) * FEATURE: include username link in the microdata schema (#25112) * DEV: patch @ember/test-helpers (#24896) * FIX: Drop down fix (#25093) * FEATURE: Show warning banner for critical JS deprecations to admins (#25091) * DEV: Skip flaky specs (#25111) * DEV: Add production-mode shim for `Em` deprecation (#25109) * DEV: Remove unmaintained tidy-jsdoc dependency (#25110) * Build(deps-dev): Bump the embroider group in /app/assets/javascripts with 1 update (#25024) * FIX: Do not allow setting admin and staff for TrustLevelSetting (#25107) * DEV: Fix spec for post menu (#25100) * FIX: include only author username in the schema (#25106) * DEV: Fix test incorrectly removing stylesheet cache of other processes (#25103) * DEV: Enable `query_log_tags_enabled` in the test environment (#25104) * FIX: add required metadata schema for subsequent pages (#25102) * FIX: Syntax error (#25101) * FEATURE: Buffer file names of failed uploads when bulk uploading (#25068) * FEAT: add cc addresses and post_id to sent email logs (#25014) * FIX: never skip push notifications (#25099) * FIX: github onebox styles for commits (#25098) * UX: update post background highlight (#25094) * UX: add gap between category and tags in suggested topics (#25097) * Build(deps-dev): Bump shoulda-matchers from `b8d04ee` to `2a2b062` (#25096) * DEV: Update when / how we display of full name on `search-item-user` (#25090) * Update translations (#25089) * Update translations (#25088) * FIX: fixes for microdata schema rendering (#25082) * DEV: Collect css assets from webpack build (#25087) * Build(deps): Bump the babel group in /app/assets/javascripts with 2 updates (#25075) * DEV: Merge mobile/desktop navigation-bar templates (#25017) * DEV: Use webpack to load table-builder dependencies (#25018) * DEV: Colocate mobile-nav template (#25016) * UX: Add 'edit' link to theme colour palette selector (#25073) * DEV: Patch `deprecated-run-loop-and-computed-dot-access` in production (#25074) * FIX: Allow the flags to be cleaned up (#25085) * FIX: Post copy link not working (#25086) * DEV: Update Rails to 7.0.8 (#25084) * Build(deps-dev): Bump sass from 1.69.5 to 1.69.6 in /app/assets/javascripts (#25076) * Build(deps-dev): Bump shoulda-matchers from `4886266` to `b8d04ee` (#25077) * Build(deps): Bump sassc-embedded from 1.68.6 to 1.69.1 (#25079) * Build(deps): Bump rack-protection from 3.1.0 to 3.2.0 (#25080) * Build(deps): Bump cbor from 0.5.9.6 to 0.5.9.8 (#25081) * FIX: allow styling of feedback on mobile (#25072) * DEV: fix flaky back to forum spec (#25071) * DEV: Attempt to fix flaky test by using `click_button` instead of `click` (#25070) * FIX: Adding form template to category dropdown can some times be empty (#25066) * DEV: Remove assertion causing test to be flaky (#25069) * DEV: API allow post actions to optionally provide visual feedback * Build(deps): Bump nokogiri from 1.15.5 to 1.16.0 (#25064) * DEV: uses `in: {}` with lambda to work with `eager_load` (#25039) * DEV: Improve error message when test fails (#25067) * DEV: Add "migrations-tooling" label to PRs for import scripts (#25062) * DEV: Apply code format to import script (#25063) * FEATURE: Import Script for Fusionforge (#22281) * Build(deps-dev): Bump sqlite3 from 1.6.9 to 1.7.0 (#25051) * Fix typos and internal links in INSTALL-cloud (#25058) * FEATURE: Topic crawler view bottom plugin outlet (#25060) * FIX: Handle deprecations correctly in server-side pretty-text (#25059) * DEV: Add extension points to `Admin User Fields` (#25021) * FEATURE: change /invites.json api endpoint to optionally accept array of emails (#24853) * DEV: No longer preload categories (#24950) * DEV: Prefer Ember's RSVP over native Promise (#25049) * Update translations (#25042) * UI: chat header style improvements (#25057) * Update translations (#25041) * FIX: chat drawer routing fix for threads (#25056) * DEV: add test that ensure `include_raw` param continues to work (#25055) * FIX: copy link not working in non secure context (#25053) * FIX: pass args in chat header logo plugin outlet (#25050) * DEV: Capture and log AR debug logs on GitHub actions for flaky tests (#25048) * DEV: Skip broken deprecated settings test until TL mapping is done (#25046) * Build(deps): Bump net-imap from 0.4.8 to 0.4.9 (#25026) * FIX: improve structured data based on recent changes (#25043) * Build(deps): Bump fastimage from 2.2.7 to 2.3.0 (#25029) * DEV: Convert min_trust_to_allow_self_wiki to groups (#25009) * Build(deps): Bump tzinfo-data from 1.2023.3 to 1.2023.4 (#25028) * Build(deps): Bump ember-auto-import from 2.7.1 to 2.7.2 in /app/assets/javascripts (#25025) * Build(deps-dev): Bump parallel_tests from 4.3.0 to 4.4.0 (#25030) * UX: make sidebar title static (#25040) * UX: header avatar > change to aria-label (#25038) * FEATURE: chat header redesign on mobile (#24938) * DEV: Skip flaky deprecated setting logging test (#25037) * DEV: Fix job cluster concurrency spec timing out (#25035) * DEV: Add auto map from TL -> group site settings in DeprecatedSettings (#24959) * FIX: CLS jumpiness in post-stream when ?page=N (#25034) * DEV: Set `config.eager_load = true` on CI (#25032) * DEV: Fix can't modify frozen string error when reporting server errors (#25033) * DEV: Remove flaky tests report when there are too many failures (#25031) * FIX: TL3 can convert their post to a wiki (#25023) * UX: resize pm composer inputs for narrow screens (#25019) * FIX: scope PM background color to PMs (#25020) * UX: adjust pm styles to enbubble controls (#24996) * bump faraday from 2.8.0 to 2.8.1 (#25007) * FIX: Bind events properly in search-menu.js & fix focus issue (#25006) * FIX: whitelist uploads before creating thumbnail variants (#25013) * FIX: prevents audio container to overflow container (#25012) * UX: Disable dropdown when filtering in edit nav menu tags modal (#25010) * DEV: Fix `nil` exception when reporting rspec failures (#25011) * DEV: Preload all models schema cache before running system tests (#25008) * UX: File types site setting (#24976) * REVERT: "FIX: Properly close search menu on click/touch outside (#25000)" (#25005) * FIX: correct typo minmin_trust_to_edit_wiki_post (#24999) * DEV: Move menu-item-end PluginOutlet outside <a> tag (#25001) * UX: adjust bootstrap mode tooltip color (#25002) * FIX: Properly close search menu on click/touch outside (#25000) * FIX: Vietnamese language native name * DEV: Clean up category-link (#24988) * DEV: Remove unnecessary method call in system tests teardown (#24998) * FIX: Update position on model when re-positioning record (#24997) * FIX: Show admin plugin route sub-links in sidebar (#24982) * FEATURE: Use native number fields for integer inputs (#24984) * Build(deps-dev): Bump shoulda-matchers from `c17c0d7` to `4886266` (#24994) * Build(deps): Bump faraday from 2.7.12 to 2.8.0 (#24995) * DEV: PluginApi function to customize search menu assistant item behavior (#24992) * FIX: Show true content of robots.txt after restoring to default (#24980) * UX: Add class to text select menu when fast-editing (#24991) * DEV: Bump the content-tag patch (#24990) * FIX: Have file size restriction type return integers (#24989) * UX: chat navbar > alignments part 2 (#24985) * FIX: Remove old 'wizard' js script (#24986) * Enable Embroider/Webpack code spliting for Wizard (#24919) * DEV: Correct ember-5 lockfile generation (#24983) * DEV: Report all exceptions in RSpec example failure lines (#24981) * Revert "UX: typo (#24971)" (#24979) * DEV: Remove the use of `Capybara::Session#quit` (#24978) * FIX: Add missing user search result `name` and styling (#24974) * DEV: Remove extra calls to `reset_sessions!` and `use_default_driver` (#24977) * DEV: Half-revert search-menu flicker fix (#24975) * Build(deps-dev): Bump shoulda-matchers from `baabf89` to `c17c0d7` (#24973) * Update translations (#24969) * Update translations (#24968) * DEV: Update rbtrace to 0.5.1 (#24964) * UX: chat navbar header specific case (#24972) * UX: Chat info area back button + styling tweaks (#24966) * UX: typo (#24971) * DEV: Allow chat mentions to have several notifications (#24874) * UX: align navbar and composer uploads (#24970) * DEV: Stop exporting internal routeAction function (#24946) * DEV: Allow 'emails disabled' notices to be temporarily dismissed (#24952) * UX: use same colour for thread icon as for indicator when unread (#24967) * FIX: add gallery to lightbox for images in the same chat message (#24962) * FIX: Admin problem notification minor issues (#24963) * DEV: skip two flakey specs (#24965) * Build(deps): Bump content-tag from 1.2.1 to 1.2.2 in /app/assets/javascripts (#24955) * DEV: Pin rbtrace gem to 0.4.14 (#24961) * DEV: Revert `upload-artifacts` to v3 for flaky test related actions (#24960) * DEV: Change default of `cross_origin_opener_policy_header` (#24940) * FEATURE: Add API scope for /logs route (#24956) * DEV: Custom generator for move setting from tl to groups (#24912) * UX: chat channel info area > classname changes (#24954) * FIX: chat navbar followups (#24953) * FIX: chat navbar follow-ups (#24951) * DEV: implements <Chat::Navbar /> (#24917) * FIX: Ensure file size restriction types are ints (#24947) * UX: align topic notification button + text vertically (#24948) * FIX: Inconsistent login label (#24949) * FIX: Better infinite scrolling on categories page (#24831) * FIX: Modal flash tracking (#24923) * DEV: Update rubocop-discourse to 3.6.0 (#24945) * DEV: Update actions/upload-artifact to v4 (#24943) * DEV: Remove unused code (#24915) * UX: fullscreen modal > add missing modifier + sticky header (#24920) * DEV: Allow plugins/themes to add global notices at any time (#24922) * FIX: Correct urls to account for subfolder setup (#24941) * Build(deps-dev): Bump parallel from 1.23.0 to 1.24.0 (#24929) * Build(deps-dev): Bump hashdiff from 1.0.1 to 1.1.0 (#24931) * Build(deps): Bump excon from 0.106.0 to 0.108.0 (#24932) * DEV: Fix flaky tests report artifacts not using the right job_id (#24939) * DEV: Convert min_trust_level_to_allow_ignore to groups (#24894) * DEV: Convert min_trust_level_to_allow_invite to groups (#24893) * DEV: Set `Capybara.default_max_wait_time` to `4` as default (#24934) * DEV: enable grant badge utils test and force boolean type return value for isBadgeGrantable (#24928) * DEV: Remove usage of `min_trust_to_create_topic` SiteSetting (#24887) * FEATURE: Initial admin sidebar navigation (#24789) * FIX: Sort plugin list by name properly (#24839) * DEV: Fix path for flaky test report when uploading artifact (#24933) * FIX: when showing edit invite form, display saved invite data in fields (#24907) * UX: fix overlap obstructed anon topic reply (#24927) * REVERT: "UX: fix overlap obstructed anon topic reply (#24921)" (#24925) * FIX: Excessive video data downloading from service worker (#24924) * DEV: Introduce plugin API for getting stats (#24829) * UX: fix overlap obstructed anon topic reply (#24921) * DEV: Add outlets and actions to move topic modal (#24913) * DEV: lint against Layout/EmptyLineBetweenDefs (#24914) * DEV: Restore chat system spec job in GitHub CI (#24918) * DEV: Improve header offset calculation (#24910) * FIX: Do not display chat replies as threads in transcripts (#24768) * UX: revert icon colour change in alerts (#24916) * FIX: Position Float Kit elements correctly in RTL mode (#24908) * DEV: Add outlet and changes to support AI proofread (#24909) * DEV: Make DatePicker placeholder customizable (#24911) * DEV: Remove DefaultNotificationItem widget (#24906) * FIX: Unable to move pm to public topic (#24903) * FIX: discourse remap: fix output to avoid UX issue (#24905) * FIX: Do not notify users for quoted mentions in chat (#24902) * DEV: Add true_fields method for CustomFields (#24876) * DEV: Add current menu-panel tab ID as data attribute to panel (#24901) * DEV: Throw error if `renderInOutlet` component has no template (#24900) * DEV: Update content-tag to 1.2.1 (#24888) * DEV: Flaky test report should be differentiated between job runs (#24895) * DEV: Include exception details for each test in flaky tests report (#24892) * DEV: Convert min_trust_level_to_allow_user_card_background to groups (#24891) * DEV: Validate that passed in groups exist in AtLeastOneGroupValidator (#24890) * DEV: Convert tl4_delete_posts_and_topics to groups (#24866) * DEV: Only retry and log flaky tests on the main branch (#24889) * DEV: Add file_size_restriction site setting type (#24704) * Build(deps): Bump bigdecimal from 3.1.4 to 3.1.5 (#24885) * Build(deps): Bump excon from 0.105.0 to 0.106.0 (#24884) * Build(deps-dev): Bump the embroider group in /app/assets/javascripts with 2 updates (#24877) * Build(deps): Bump ember-auto-import from 2.7.0 to 2.7.1 in /app/assets/javascripts (#24878) * DEV: Plugin-api methods for user-notifications route customizations (#24873) * DEV: Concerns can use class_methods (#24875) * FEATURE: Delete backups based on time window (#24296) * DEV: Summarize JS deprecations at end of system spec run (#24824) * DEV: Remove most Ember 3 jobs from CI (#24872) * UX: have svg icons inherit colour (#24871) * DEV: Add `safe_mode=deprecation_errors` mode (#24870) * UX: user threads styling tweaks * DEV: Remove development-only `DiscourseURL` global (#24869) * DEV: Tweaks for safe mode (#24868) * UX: update "discourse-sparkles" icon (#24863) * DEV: Convert min_trust_to_flag_posts setting to groups (#24864) * DEV: Convert min_trust_to_edit_post to groups (#24840) * DEV: Convert min_trust_to_create_topic to groups (#24740) * DEV: Convert allow_uploaded_avatars to groups (#24810) * FIX: Don't use `:true`/`:false` symbols (#24861) * DEV: Remove ruby 1.9/2.0 benchmark (#24862) * DEV: Introduce automatic reruns to RSpec tests on Github actions (#24811) * DEV: Custom generator for rename site setting migration (#24841) * Build(deps-dev): Bump debug_inspector from 1.1.0 to 1.2.0 (#24860) * Build(deps-dev): Bump shoulda-matchers from `f2db1f2` to `baabf89` (#24858) * Build(deps): Bump net-imap from 0.4.7 to 0.4.8 (#24859) * Build(deps): Bump oj from 3.16.2 to 3.16.3 (#24856) * Build(deps-dev): Bump test-prof from 1.3.0 to 1.3.1 (#24855) * UX: Align icon with username in menu panel (#24854) * DEV: Improve browser-update compatibility (#24852) * UX: Improve layout of avatar+icon notifications (#24851) * PERF: Update node_options during ember build for low end servers (#24850) * Apply embed unlisted setting consistently (#24294) * Update translations (#24849) * Update translations (#24848) * FIX: ensures border and shadow of header is visible (#24847) * FIX: Remove duplicate spec example (#24846) * UX: prevent header buttons from wrapping text (#24845) * DEV: Use `class` attribute instead of `@class` arg (#24804) * DEV: Re-enable browser read timeout in specs (#24844) * FIX: incorrect spacing with my threads on ios (#24843) * FIX: increase default max length of chat message excerpts (#24842) * DEV: Partially revert 5b91dc184418000adaabf0dfe64eebbd8233d6ec (#24838) * DEV: Convert min_trust_to_edit_wiki_post to groups (#24766) * DEV: Update actions/labeler to v5 (#24835) * update desc of top_page_default_timeframe (#24755) * DEV: Add ember-5 to test matrix for official plugins and themes (#24571) * Build(deps): Bump the babel group in /app/assets/javascripts with 2 updates (#24833) * Build(deps-dev): Bump rubocop from 1.58.0 to 1.59.0 (#24834) * DEV: Convert PreferenceCheckbox to gjs (#24817) * UX: Adjust notification items when avatar is shown (#24832) * DEV: remove animating class (#24830) * FIX: Correct and improve autohighlight_all_code setting description (#24828) * UX: Add some missing hljs classes * DEV: Remove unused hljs css selectors * FIX: Color of notification icons in user-notifications index (#24826) * DEV: Remove legacy hamburger menu code (#24788) * DEV: Render glimmer notification items for user notification list (#24802) * DEV: Skip chat transcript spec (#24819) * UX: Fix highlighting regressions (#24825) * FEATURE: Add pagination to categories page (#23976) * FIX: Reload page after adding 2FA when it is enforced (#24803) * FIX: Resolve computed property override when inviting to PM (#24823) * FIX: allow to click on thread indicator (#24821) * FIX: ensures side panel is closed (#24822) * DEV: Lots of improvements to the generic_bulk import script * DEV: Add script for preprocessing uploads as part of a migration * DEV: Convert dependencies of generic import script into optional gem group * DEV: Remove incorrect "for" attributes (#24805) * DEV: Correct i18n helper invocation case (#24806) * DEV: Identify errors/deprecations triggered by browser extensions (#24820) * UI: ensures emojis are correctly aligned in reactions (#24814) * FIX: Allow quoting thread's original message (#24773) * UX: allow users to click thread title to open it (#24816) * DEV: Unskip chat transcript spec (#24778) * FIX: Navigating out of thread shows other unread threads (#24693) * UX: fix icon colour on signup CTA (#24818) * UX: prevent chat channel avatar from getting squished (#24815) * Build(deps): Bump actions/stale from 8 to 9 (#24812) * FEATURE: my threads page (#24771) * Build(deps): Bump markdown-it from 13.0.2 to 14.0.0 in /app/assets/javascripts (#24809) * Build(deps-dev): Bump shoulda-matchers from `3654e5c` to `f2db1f2` (#24808) * Build(deps): Bump addressable from 2.8.5 to 2.8.6 (#24807) * UX: Ensure wizard previews display at correct width (#24801) * DEV: Increase per-spec timeout to 45s (#24798) * DEV: Update Gemfile.lock (#24797) * DEV: Update before-header-panel outlet arguments (#24796) * DEV: Remove flaky spec (#24795) * UX: login modal sizing fixes (#24794) * DEV: Use category objects as values for category select kits (#24793) * FIX: Navigate search results using J/K keys (#24787) * A11Y: improve setting focus to a post (#24786) * UX: if no login options are configured, show a message (#24777) * DEV: Switch to sassc-embedded (#24639) * DEV: Remove GitHub gjs highlighting workaround (#24791) * DEV: Catch errors in theme/plugin onPageChange handlers (#24784) * FIX: category selectors for lazy loaded categories (#24533) * FIX: Do not attempt S3 ACL call if secure status did not change (#24785) * FEATURE: Add copy link post menu button (#24709) * DEV: Set a browser read timeout in capybara (#24757) * Build(deps): Bump oj from 3.16.1 to 3.16.2 (#24781) * Build(deps): Bump rack-mini-profiler from 3.2.0 to 3.3.0 (#24782) * Build(deps): Bump terser from 5.25.0 to 5.26.0 in /app/assets/javascripts (#24780) * Revert "A11Y: fix setting focus to a post (#23367)" (#24783) * A11Y: fix setting focus to a post (#23367) * FIX: Form template form error visiblity (#24779) * FIX: Validate each value in an array custom field separately (#24659) * FIX: Move the `search-menu-results-top` plugin outlet (#24774) * FIX: Prevent error when poster isn't present in message notification item (#24776) * FIX: Table builder spec (#24775) * FEATURE: Site setting to display user avatars in user menu (#24514) * DEV: Refactor Wizard components (#24770) * UX: move monospace font to variable (#24762) * UX: minor fixes in topic action modal (#24772) * DEV: Only enable minio for core system tests (#24642) * DEV: revert bg color from --tertiary-very-low to --tertiary-low (#24764) * UX: Fix edit navigation tags modal height too long on desktop (#24765) * DEV: Bump rswag-specs from 2.11.0 to 2.13.0 (#24654) * FIX: Ensure bulk select toggle appears for non-admin on new/unread (#24763) * DEV: Use Discourse::SYSTEM_USER_ID in fixtures/009_users (#24743) * UX: make github onebox styles more responsive (#24761) * DEV: Fix various rubocop lints (#24749) * Build(deps): Bump rack-mini-profiler from 3.1.1 to 3.2.0 (#24760) * Build(deps-dev): Bump selenium-webdriver from 4.15.0 to 4.16.0 (#24759) * DEV: Fix random typos (#24756) * DEV: Fix RSpec/SpecFilePathSuffix / enable 3 chat spec files (#24750) * FIX: saving tag changes without description (#24753) * UX: Restore category badge colours on 404 page (#24754) * UX: fix double-scrollbar in keyboard-shortcuts-modal (#24751) * UX: improve poll text wrap (#24732) * DEV: Plugin outlet around user menu empty state (#24730) * DEV: Fix Lint/BooleanSymbol (#24747) * DEV: Fix Lint/DuplicateMethods (#24746) * DEV: Fix Lint/ShadowedArgument (#24733) * FIX: Handle 404 correctly when transition has no path (#24748) * DEV: Add ember-5 to test matrix for core/chat system specs (#24721) * DEV: Refactor Wizard routes, controllers and templates (#24725) * DEV: skip flaky upload spec for large image thumbnails (#24745) * update matchers to improve test suite perf for upload specs (#24744) * FEATURE: Add thumbnails for chat image uploads (#24328) * DEV: Revert guardian changes (#24742) * DEV: Skip chat test (#24739) * FIX: Use Guardian.basic_user instead of new (anon) (#24705) * DEV: Incorrect setup for test (#24736) * DEV: Remove unnecessary method_missing from GuardianUser (#24735) * FIX: Add checkbox-label to notification bulk actions (#24734) * DEV: Improve Guardian devex (#24706) * UX: Add a link from admin reports page to meta a topic (#24707) * FIX: shortcut typo (#24731) * A11Y: allow tab titles to use default translation (#24727) * Build(deps): Bump json from 2.6.3 to 2.7.1 (#24729) * Build(deps): Bump cgi from 0.4.0 to 0.4.1 (#24728) * UX: More adjustments (#24726) * FIX: escape category description text (#24724) * DEV: Add topicNotificationLevel fn to post model (#24723) * FIX: Account activation under ember-5 build (#24722) * DEV: Add `search-menu-before-advanced-search` plugin outlet (#24720) * DEV: Fix assertion in embedding test (#24694) * FIX: Ensure slugless topic URLs are correctly redirected (#24719) * Update translations (#24717) * Update translations (#24716) * UX: fix alignment (#24718) * UX:; scope details change (#24715) * DEV: Fix readonly admin login spec (#24714) * FIX: correctly update replies_count on chat_threads (#24711) * UX: details tag background colour (#24710) * FIX: increments message version when processed (#24713) * Build(deps): Bump regexp_parser from 2.8.2 to 2.8.3 (#24701) * Build(deps): Bump terser from 5.24.0 to 5.25.0 in /app/assets/javascripts (#24703) * DEV: skip failing spec du to refactoring modal for now (#24712) * DEV: Fix chat notifier deprecation warnings from job arguments (#24708) * FIX: Introduce Guardian::BasicUser for oneboxing checks (#24681) * FIX: Flaky table builder spec (#24700) * FIX: Don't refresh on topic search result click (#24697) * PERF: Only apply terser to production assets (#24699) * FIX: don't apply extraClassName to all popup menus (#24695) * DEV: adds a chat-join-channel-button outlet (#24698) * DEV: Run assets:precompile ember build with `CI=1` (#24696) * DEV: remove duplicate spec (#24691) * DEV: reviewable_user spec should assert on delete_user_block instead of delete_user (#24692) * FIX: Multiple nested threads and duplicated messages in chat transcripts (#24685) * DEV: Correct forums_controller success spec (#24690) * FIX: Ensure 'untagged' document title is set correctly (#24689) * DEV: Fix various spec linting issues (#24672) * DEV: Remove unused Ember::Handlebars freedom patch (#24688) * DEV: Remove unused htmlbars-inline-precompile shim (#24687) * DEV: Fix some qunit linting issues (#24686) * DEV: Replace AdminWrapper with body-class/html-class (#24683) * FIX: failing spec in sidebar tags (#24682) * Build(deps): Bump nio4r from 2.6.1 to 2.7.0 (#24678) * Build(deps-dev): Bump rubocop from 1.57.2 to 1.58.0 (#24675) * Build(deps): Bump rbtrace from 0.4.14 to 0.5.0 (#24677) * Build(deps-dev): Bump shoulda-matchers from `7e069cf` to `3654e5c` (#24679) * UX: fix sidebar modal (#24646) * DEV: Delete redundant bookmark test (#24680) * FIX: Request html when fetching inline onebox data (#24674) * DOCS: Update INSTALL-email to point to Brevo correctly * FIX: update tag description field placeholder (#24644) * UX: improve btn-transparent styling (#24666) * DEV: Correct deprecation id for discovery-controller-shims (#24671) * DEV: Add JS API to adjust desktop topic timeline min/max height (#24669) * DEV: Resolve transitionTo deprecation in chat-channel route (#24668) * DEV: Only add ember-global deprecation for Ember 3 (#24667) * UX: fix info text color on custom field for login (#24665) * DEV: Restore ember-global deprecation in production (#24664) * FIX: Ensure app-cdn CORS is not overridden by cors_origin setting (#24661) * DEV: Exclude deprecation-collector plugin from source identifier (#24662) * Build(deps-dev): Bump jsdom from 23.0.0 to 23.0.1 in /app/assets/javascripts (#24657) * FIX: Don't error out when trying to retrieve title and URL won't encode (#24660) * FIX: Flashing when loading glimer search results (#24658) * DEV: Add `forceDropdownForMenuPanels` to plugin api (#24655) * Update INSTALL-email.md (#24481) * Fix typos (#24656) * DEV: Port `discourse-table-builder` theme component to core (#24441) * FIX: disables tooltip on desktop message menu’s reaction (#24650) * DEV: correctly uses link to message endpoint in spec (#24652) * FIX: show leave channel notice only on group channels (#24653) * FIX: correctly show "chat with" and not "chat in" for users (#24651) * UX: make summary 100% height (#24649) * DEV: removes dead code (message_link) (#24648) * DEV: ensures we have error message before message check (#24647) * UX: chat leave info (#24645) * UX: properly align close button icon on composer messages (#24632) * COPY: secure media -> secure uploads (#24643) * DEV: Remove flaky spec (#24641) * DEV: add recurrence rule parameter to downloadCalendar API (#24404) * FIX: Flaky spec due to incorrect Rack response body (#24640) * FIX: Further improvements for plugin list (#24622) * DEV: Update stale-pr-closer configuration (#24626) * Build(deps): Bump net-imap from 0.4.6 to 0.4.7 (#24638) * Build(deps): Bump the babel group in /app/assets/javascripts with 2 updates (#24637) * FIX: Allow setting an array custom field to a singleton value (#24636) * DEV: Allow setting max_length for field types using the plugin API (#24635) * FIX: leaving a group channel should destroy membership (#24631) * DEV: Add missing html-safe on search result blurb (#24633) * DEV: Move desktop notifications logic to service (#24466) * DEV: Fix or disable various lint rules (#24630) * DEV: Fix "ember/no-empty-glimmer-component-classes" lint (#24629) * DEV: Convert input-tip to gjs (#24624) * DEV: Fixup plugin initialization guard (#24628) * FIX: category-selector for top level categories (#24627) * DEV: Fix `ember/no-private-routing-service` (#24009) * DEV: Fix router linting errors (#24012) * UX: Various improvements to JSON Schema editor (#24543) * DEV: Add stale PR workflow (#24625) * Update translations (#24600) * Update translations (#24599) * FIX: Show only top categories in first category-drop (#24575) * DEV: update syntax tree to latest (#24623) * FIX: Word wrap for quote buttons (#24620) * DEV: Fix flagging post flaky (#24619) * Build(deps): Bump excon from 0.104.0 to 0.105.0 (#24618) * Build(deps): Bump json_schemer from 2.1.0 to 2.1.1 (#24617) * DEV: Remove unused search plugin outlets (#24614) * FIX: Escape topic titles when `use_pg_headlines_for_excerpt` true (#24608) * UX: create category doesn't always need a dropdown (#24610) * Build(deps-dev): Bump the embroider group in /app/assets/javascripts with 1 update (#24615) * FIX: use correct color for inputs (#24616) * UX: Place login button text in span tag (#24613) * DEV: Update `search-menu-before-term-input` outlet args (#24573) * FIX: Add setters for some group properties (#24572) * FIX: lint unlinted file (#24612) * UX: fix disabled input styles (#24603) * FIX: Add more specificity to outline (#24611) * FEATURE: Add search menu outlet (#24609) * DEV: refactor flag message (#24604) * DEV: Skip flaky chat transcript specs (#24607) * DEV: Make `theme-qunit` discoverable from `/tests` (#24606) * DEV: Don't warn about clearing tmp/cache (#24602) * UX: Change direction of focus outline (#24605) * FIX: Make category-drop work with lazy_load_categories (#24187) * DEV: Use staged user check instead (#24578) * DEV: Don't use the deprecated `createEvent()` (#24601) * DEV: Remove unnecessary `getURL()` calls (#24591) * DEV: Temporary fix for flaky system test (#24598) * DEV: Update click-track tests (#24597) * DEV: Introduce `DISCOURSE_ASSET_URL_SALT` (#24596) * FIX: Use subfolder-safe url for category in html view (#24595) * Build(deps): Bump actions/setup-node from 3 to 4 (#24594) * DEV: Remove unused searchTags param (#24590) * DEV: Fix "no-dupe-keys" lint (#24589) * DEV: Fix "no-empty" lint (#24588) * DEV: Fix "no-unsafe-finally" lint (#24587) * DEV: Fix "ember/no-global-jquery" lint (#24586) * DEV: Fix "no-setter-return" lint (#24585) * DEV: Remove unnecessary `await settled()` (#24584) * DEV: Fix `super` calls in native chat classes (#24583) * DEV: Fix `no-extra-boolean-cast` lint (#24582) * DEV: Remove RAILS_MASTER flag from Gemfile (#24574) * DEV: Fix `no-unnecessary-curly-parens` lint rule (#24581) * DEV: Fix `no-unnecessary-curly-strings` lint rule (#24580) * FIX: Add higher read & open timeouts for group SMTP emails (#24593) * FIX: with_secure_uploads? could return nil in some cases (#24592) * Build(deps-dev): Bump fabrication from 2.30.0 to 2.31.0 (#24579) * FEATURE: increase tag description limit to 1000 (#24561) * UX: Submit security key edit form on Enter (#24532) * DEV: Run ember enforcement on merge-result ref (#24577) * DEV: Auto link video placeholder posts (#24576) * DEV: Generate Ember5 lockfile * DEV: Introduce feature-flag for Ember 5 upgrade * DEV: Rename files in preparation for version feature-flagging * FIX: remove trailing slashes and query params on meta-tag-updater's canonical url (#24445) * FEATURE: Add threads support to chat archives (#24325) * Fix: Handle failing to update parent category (#24401) * DEV: Prepare jquery integration for Ember upgrade (#24566) * DEV: Prepare lib/ember-events for Ember upgrade (#24565) * DEV: Prepare modal implementation for Ember upgrade (#24564) * DEV: Prepare module-shims for Ember upgrade (#24569) * DEV: Prepare deprecation-workflow for Ember upgrade (#24568) * DEV: Prepare plugin-outlet for ember upgrade (#24567) * FIX: Ensure topic route does not replaceState after navigation (#24563) * DEV: Don't use `attrs` (#24323) * Build(deps): Bump ember-auto-import in /app/assets/javascripts (#24556) * Build(deps-dev): Bump jsdom in /app/assets/javascripts (#24557) * DEV: Don't depend on assets path to determine layout that is rendered (#24562) * Revert "Build(deps-dev): Bump rswag-specs from 2.11.0 to 2.12.0 (#24555)" (#24560) * FIX: Video placeholders not auto-linking post uploads (#24559) * FIX: Improve group mention copy for small groups (#24558) * Build(deps-dev): Bump rswag-specs from 2.11.0 to 2.12.0 (#24555) * DEV: Cache plugin gems when running plugin test jobs in Github CI (#24535) * UX: add gift emoji styling for new features (#24523) * UX: fix new group chat cancel i18n label (#24554) * FIX: A typo bug in an import script (#24553) * DEV: Consistently use kebab-case in service lookups (#24552) * DEV: Don't reload looping tests when cancelling (#24551) * FIX: disable browser `history.scrollRestoration` feature (#24550) * DEV: ensure discovery getters don't fail with a missing #routeAttrs (#24549) * FIX: Use same names for category CSS variables (#24527) * DEV: Remove unneeded Model injections (#24546) * DEV: Convert relative-time-picker to gjs (#24324) * DEV: Add "loop until failure" feature to QUnit (#24545) * DEV: Fix settledState debug message (#24544) * FIX: nullifies target message id when not readable (#24540) * DEV: Load svg icons in dev-environment qunit tests (#24542) * DEV: Cleanup unused markdownItUrl references (#24541) * UX: fix date time modal on mobile (#24531) * FIX: Handle missing git repo details in plugin list (#24539) * FIX: prevents input to reset at wrong moment (#24536) * DEV: revert missing license for maxmind changes (#24538) * DEV: maxmind license checking failing tests (#24534) * UX: Show on IP lookup if MaxMind key is missing (#18993) * Update INSTALL-cloud.md (#23624) * FIX: Serialize parent categories first (#24530) * DEV: Modernize Wizard model implementation (#23640) * DEV: Replace discourse-location with Ember version (#24365) * FIX: correctly uses private_email site setting in chat (#24528) * UX: fix icon-lock size on email-login page (#24529) * DEV: Stringify settledState debug info (#24526) * Build(deps): Bump aws-eventstream from 1.2.0 to 1.3.0 (#24518) * PERF: avoid table scan while performing a very large update (#24525) * Revert "FIX: `plugin:install_all_gems` Rake task not installing plugin gem (#24522)" (#24524) * DEV: Convert email_in_min_trust to groups (#24515) * FIX: `plugin:install_all_gems` Rake task not installing plugin gem (#24522) * DEV: Replace `starts_with?` with `start_with?` in `HtmlToMarkdown` (#24521) * FIX: Remove multiple consecutive dashes from tag names (#24520) * UX: Add category & section for syntax & BEM (#24516) * PERF: Switch `plugins:update_all` to git pull concurrently (#24513) * FIX: Use plugin category name for plugin list (#24477) * Build(deps-dev): Bump the types group (#24519) * Build(deps): Bump net-imap from 0.4.5 to 0.4.6 (#24517) * DEV: Allow setting different custom field length limits by key (#24505) * DEV: Convert approve_new_topics_unless_trust_level to groups (#24504) * UX: add BEM documentation to styleguide (#24512) * DEV: Introduce history-store service (#24486) * PERF: Switch `plugin:install_all_official` to clone plugins concurrently (#24511) * DEV: cooks messages synchronously (#24510) * FEATURE: implements drafts for threads (#24483) * FIX: Run bundle install before migration in `d/boot_dev` (#24509) * DEV: Support customizing `docker:test:setup` with envs (#24508) * FIX: Wrong argument error being thrown in UrlHelper (#24506) * FIX: `docker:test` Rake task did not run system tests in parallel (#24507) * DEV: Remove unnecessary fab! block (#24496) * DEV(cache_critical_dns): sort resolved SRV targets by priority * FIX: relies on mention mixin for size (#24503) * Build(deps-dev): Bump the types group (#24502) * FIX: Fix custom login input label animations (#24497) * Build(deps-dev): Bump test-prof from 1.2.3 to 1.3.0 (#24501) * Build(deps): Bump nio4r from 2.6.0 to 2.6.1 (#24500) * Build(deps): Bump faraday from 2.7.11 to 2.7.12 (#24499) * Build(deps-dev): Bump rspec-rails from 6.0.3 to 6.1.0 (#24498) * DEV: Refactor save_custom_fields methods (#24495) * DEV: Convert approve_unless_trust_level to groups (#24357) * PERF: Cache results of Category.asyncSearch (#23975) * DEV: Deprecate array custom fields (#24492) * FIX: Preserve custom field array order (#24491) * DEV: Make loading spinner implementation consistent with slider (#24480) * DEV: Pass the user who requested the summary to the strategy. (#24489) * UX: add height to non-highlighted mention (#24490) * UX: properly alight close button icon on topic navigation popup (#24487) * UX: adapt modal to new changes (#24488) * UX: Adjust topic progress wrapper border radius (#24470) * Update translations (#24485) * DEV: Properly cleanup auth providers in test (#24482) * UX: select kit name > flex (#24479) * DEV: Drop Ruby version from Github job name (#24475) * UX: set badge color for new category preview (#24473) * UX: Vertically align the svg in checkbox slider component (#24478) * DEV: Fix flaky test due to ActiveRecord query caching (#24476) * FEATURE: Admin plugin list redesign (#24363) * FIX: Make fullscreen code modal occupy as much of the screen as needed (#24403) * FIX: render page title on tag routes (#24474) * FIX: Only labels for bold & italic in composer when language doesn't match icon * Build(deps): Bump the babel group (#24472) * DEV: Rebake posts w/ quotes to update category badge style (#24469) * Revert history-store changes (#24471) * UX: Ensure loading slider does not 'reset' halfway through a transition (#24446) * FIX: Use history-store service to check `isPoppedState()` * DEV: Update topic-list-item focus to use history-store * DEV: Introduce history-store service * FIX: Sorting toggles on topic list (#24465) * FIX: Modals on Android when keyboard is visible (#24442) * FIX: Rendering a single item in a grid (#24464) * DEV: Remove unnecessary `js: true` options from specs (#24463) * DEV: Fix various typos (#24461) * UX: Ensure tag-info does not persist onto non-tag routes (#24462) * DEV: Add selectText option to auto-focus modifier (#24458) * FIX: Navigating to home via route name (#24460) * DEV: Refactor bowerDependencies patch (#24437) * DEV: Make DTooltipInstance destroy synchronous (#24439) * DEV: Print version info to console on boot (#24444) * DEV: Update login-required-test modal-close selector (#24438) * DEV: Update auth-complete to use public router service (#24436) * DEV: Update custom array implementations for Ember 5 compatibility (#24435) * UX: Revert grey search inputs (#24459) * UX: Fixes login/create modal (#24457) * FIX: Invalid date when sending chat message in thread (#24455) * UX: smaller new feature emoji (#24454) * DEV: Always run bundle and yarn install while running `d/boot_dev` (#24453) * FEATURE: Add setting & preference for search sort default order (#24428) * DEV: Housekeeping for CleanUpUploads job (#24361) * FEATURE: dedicated admin section for new features (#24292) * Build(deps): Bump public_suffix from 5.0.3 to 5.0.4 (#24451) * UX: normal cursor on custom sidebar link icon (#24427) * Build(deps): Bump nokogiri from 1.15.4 to 1.15.5 (#24448) * Build(deps-dev): Bump bullet from 7.1.3 to 7.1.4 (#24449) * Build(deps-dev): Bump shoulda-matchers from `0dc6c6d` to `7e069cf` (#24450) * Build(deps): Bump json_schemer from 2.0.0 to 2.1.0 (#24452) * Build(deps-dev): Bump the embroider group (#24447) * PERF: Only invalidate other translations when en changes (#24443) * DEV: Rebuild JS app when files change in discourse-markdown-it (#24379) * DEV: Don't define methods in an included block (#24433) * FIX: Include missing search service on login modal (#24432) * DEV: Support search menu APIs in glimmer version (#24061) * FIX: correctly highlights message on reply click (#24431) * UX: improve json_schema setting styles (#24424) * DEV: Add support for limit in notifications index w/o recent param (#24423) * DEV: add deprecation notice for decorateTopicTitle API (#24429) * DEV: Fix S3 minio specs on CI (#24426) * DEV: Fix flaky fast edit keyboard shortcut QUnit test (#24425) * DEV: Run QUnit tests for official Discourse themes (#24405) * Build(deps): Bump unf_ext from 0.0.9 to 0.0.9.1 (#24422) * Build(deps): Bump nio4r from 2.5.9 to 2.6.0 (#24421) * DEV: Unskip flaky editing sidebar nav menu categories on mobile test (#24412) * UX: composer category dropdown height, truncation (#24420) * DEV: Don't render login modal when redirecting to external auth (#24418) * DEV: Adds RRF algorithm and API for adding results to search (#24202) * DEV: Remove unnecessary fab! blocks (#24419) * DEV: Remove custom field regexes (#24390) * FIX: Regression when enforced 2FA is enabled (#24415) * UX: small alignment tweaks for chat thread list header (#24410) * DEV: Silence successful db:migrate output in docker.rake (#24417) * DEV: Silence successful database migration output in github actions (#24416) * FIX: Navigate to search result url on click (#24414) * FIX: Add desktop notification translation for watching_category_or_tag (#24276) * UX: Expand enforce_second_factor setting description (#24413) * UX: Apply decorators to small action posts (#24397) * DEV: Adding polls, solutions, upload references and other improvements to the Discourse merger script (#23689) * DEV: Refactor `/my/*` redirect handling (#24409) * DEV: user-card-content-container plugin outlet (#24374) * DEV: Respect `SKIP_TEST_DATABASE` when running `rake db:create` (#24407) * DEV: Update homepage URL handling (#24373) * Build(deps): Bump the embroider group (#24391) * FIX: min/max not passed to NumberField for site settings (#24402) * DEV: Improve QUnit acceptance assertion for flaky test (#24400) * DEV: Remove `category-macro` (#24395) * DEV: Run system tests for official themes (#24378) * FIX: Preload the right fields on categories (#24396) * Build(deps): Bump google-protobuf from 3.25.0 to 3.25.1 (#24398) * FIX: Redirect to highlighted search result on 'Enter` (#24393) * UX: fix reply-where category display (#24389) * UX: html-safe dialog.message, clarify poll error (#24388) * DEV: Reduce Webpack memory use in development (#24387) * DEV: Apply raw-hbs compilation via ember-cli-build.js (#24384) * UX: fix cmd-k position (#24385) * DEV: Reorder custom ember-cli middleware to restore error page (#24383) * UX: full width table modal override (#24382) * UX: modal > remove obsolete wrapper class (#24381) * UX: shorter copy link confirmation (#24380) * UX: refactor .d-modal to use BEM and improve styling (#23967) * UX: improve mobile user card button display (#24311) * UX: use mention mixin for chat mentions (#24319) * Build(deps-dev): Bump rubocop-discourse from 3.4.0 to 3.4.1 (#24375) * DEV: Add support for condition option when adding toolbar buttons (#24370) * DEV: Refactor DiscourseURL redirects (#24372) * FIX: Recompile theme translations when fallback data changes (#24371) * DEV: Refactor user index redirects into single place (#24369) * FEATURE: Allow users to confirm session with passkeys (#24337) * Update translations (#24367) * Update translations (#24366) * Build(deps): Bump loofah from 2.21.4 to 2.22.0 (#24356) * Build(deps): Bump web-push from 3.0.0 to 3.0.1 (#24355) * Build(deps): Bump net-imap from 0.4.4 to 0.4.5 (#24354) * Build(deps): Bump ember-route-template in /app/assets/javascripts (#24353) * Build(deps): Bump unf_ext from 0.0.8.2 to 0.0.9 (#24340) * DEV: Convert components to gjs * DEV: prep for gjs conversion: rename .js -> .gjs * FIX: correct online indicator for non interactive (#24364) * UX: shows editing title only on settings page (#24330) * DEV: change header-topic-title-suffix-outlet to insert into classed span element (#24362) * FIX: buildQuoteMarkdown fn was not passed down properly (#24360) * FEATURE: Allow `/filter` route to be accessible by anon users (#24359) * DEV: Add quote-share-buttons-before plugin outlet (#24358) * FEATURE: Add buildQuoteMarkdown for post toolbar (#24326) * DEV: Improve discovery components plugin-outlets compatibility with existing customizations * FIX: only show passkeys button in login modal (#24351) * UX: improves search of message creator * DEV: Rename `experimental_passkeys` to `enable_passkeys` (#24349) * DEV: Update specs to avoid dependence on ember-cli build (#24347) * DEV: allows to wrap wizard checkbox with outlet (#24334) * FEATURE: Configure poll 'public' default via site setting (#24348) * FEATURE: remove category badge style options, set bullet style as default (#24198) * FIX: Hide chat message header with new argument (#24346) * DEV: removes dead code (#24345) * DEV: uses alphanumeric to avoid flakey specs (#24344) * DEV: remove slightly less trivial `{{action}}` usages (#24289) * Build(deps): Bump ember-route-template in /app/assets/javascripts (#24338) * FIX: EmberCli cache clearance issue in production (#24343) * FIX: Post moved small action links should respect subfolder installs (#24336) * FIX: Add a missing service injection (#24341) * FIX: Hide old min_trust_level_for_here_mention setting (#24342) * UX: Create polls with public=true by default (#24332) * FIX: Load highlightjs bundle via CDN (#24335) * DEV: Modernise highlightjs loading (#24197) * FIX: Updating presence status in readonly mode should fail gracefully (#24333) * DEV: Remove .github/workflows/check-branches.yml (#24331) * DEV: Simplify ember-cli proxy strategy (#24242) * DEV: Support legacy precompiler paths in theme compiler (#24329) * FEATURE: introduces group channels (#24288) * DEV: Fix bookmark flaky (#24327) * DEV: Limit re-use of bundler/yarn caches in CI (#24256) * UX: number site setting validation message (#24303) * DEV: Remove flaky setting deprecation logging specs (#24322) * DEV: Skip flaky sidebar mobile spec (#24321) * DEV: Align S3 transfer acceleration global settings (#24302) * FIX: update tag-chooser & category-selector action (#24318) * Build(deps): Bump the babel group (#24310) * DEV: Allow fab! without block (#24314) * DEV: Ability to collect stats without exposing them via API (#23933) * DEV: Use a single registry for preloaded category custom fields (#24272) * DEV: Allow new_features URL to be configurable (#24306) * Bump version to v3.1.3 * Bump version to v3.2.0.beta4-dev * Bump version to v3.2.0.beta3 * SECURITY: Prevent Onebox cache overflow by limiting downloads and URL lengths * SECURITY: Limit height of pre/svg elements * SECURITY: Filter unread bookmark reminders the user cannot see * SECURITY: Onebox templates' HTML injections (stable). * SECURITY: SSRF vulnerability in TopicEmbed * SECURITY: escape display names * SECURITY: Prevent Onebox cache overflow by limiting downloads and URL lengths * SECURITY: Filter unread bookmark reminders the user cannot see * SECURITY: Limit height of pre/svg elements * SECURITY: Onebox templates' HTML injections. * SECURITY: SSRF vulnerability in TopicEmbed * SECURITY: escape display names * DEV: Move min_trust_level_for_here_mention to group setting (#24263) * FIX: Adjust border radius (#24301) * FIX: Prevent invalid tos and privacy URLs in cache (#24291) * FIX: user got notified about a mention inside a chat message quote (#24229) * DEV: Update gh workflow check-branches.yml (#24298) * DEV: remove wrapping `span` from discovery-above (#24297) * FEATURE: Add ability to hide modal header (#24290) * DEV: Adds a GitHub workflow to check target branch (#24273) * FIX: Replace watched words with wildcards (#24279) * DEV: Email notification filter plugin API (#24271) * DEV: Migrate reorder-categories to the new modal API (#24209) * UX: adjust bulk selection position to avoid edits (#24231) * prettier (#24295) * DEV: Add support for radar charts when displaying reports. (#24274) * UX: Invite signup page styling + separation (#24293) * DEV: remove trivial `{{action}}` usages (#24278) * FIX: Fix hashtag decoration on later pages of user activity stream (#24261) * FEATURE: Add theme-components route for admin (#24264) * DEV: Add keywords for shared_drafts_allowed_groups (#24262) * Update plugin.rb metadata (#24213) * FIX: relocate `above-discovery-categories` outlet (#24287) * Build(deps): Bump date from 3.3.3 to 3.3.4 (#24286) * Build(deps): Bump base64 from 0.1.1 to 0.2.0 (#24285) * Build(deps): Bump cgi from 0.3.6 to 0.4.0 (#24284) * Build(deps): Bump net-protocol from 0.2.1 to 0.2.2 (#24283) * Build(deps): Bump timeout from 0.4.0 to 0.4.1 (#24282) * DEV: add PluginOutlet around the Customize > Themes tab (#24280) * Build(deps-dev): Bump the types group (#24281) * Update translations (#24269) * Update translations (#24177) * FIX: restore "categories and top topics" layout (#24275) * DEV: Standardize session confirmation prompt (#24212) * FIX: correctly handle subscriptions (#24270) * FEATURE: Add custom fields to members on group index (#24232) * DEV: upgrade avatar-selector modal to glimmer component (#24192) * FIX: Deleting tags via `<TagInfo />` component (#24268) * FIX: Correctly map fingerprinted vendor.js file in production (#24267) * DEV: improves reliability of delete/restore/update specs (#24265) * DEV: Use WebPack stats plugin to map entrypoints to chunks (#24239) * FIX: Expand globally pinned topics correctly (#24266) * FEATURE: chat redesign - back button to exit threads (#24189) * DEV: Move shared_drafts_min_trust_level to group setting (#24257) * DEV: Add an assertion for event triggered (#24259) * DEV: Make admin experimental sidebar config more forgiving (#24236) * FIX: Deleting/recovering a post in topics caused bookmark side effects (#24226) * DEV: Introduce S3 transfer acceleration for uploads behind hidden setting (#24238) * DEV: Re-enable site setting deprecation specs (#24258) * FIX: target chat-message-text only on secondary action (#24255) * DEV: remove undefined `categoryPageStyle` (#24253) * FIX: targeting chat-message-text is more reliable (#24245) * Build(deps): Bump net-http from 0.3.2 to 0.4.0 (#24252) * Build(deps): Bump uri from 0.12.2 to 0.13.0 (#24251) * Build(deps-dev): Bump the types group (#24250) * FIX: Broken login with security key when passkeys enabled (#24249) * DEV: Update js_locale_helper_spec following 76b75fae * DEV: remove markdown-it-bundle and custom build code (#23859) * DEV: Simplify I18n shim check (#24244) * FEATURE: Improve push notification message for watching_category_or_tag notifications (#24228) * DEV: Remove legacy `/brotli_asset` workaround (#24243) * PERF: cook message in background (#24227) * DEV: Remove template-compiler from frontend test bundle (#24241) * DEV: Skip flaky site-setting deprecation spec (#24240) * DEV: Refactor discovery routes to remove use of 'named outlets' (#22622) * Build(deps): Bump racc from 1.7.2 to 1.7.3 (#24235) * Build(deps): Bump net-imap from 0.4.3 to 0.4.4 (#24234) * Build(deps-dev): Bump bullet from 7.1.2 to 7.1.3 (#24233) * FIX: Do not log client site setting deprecations (#24237) * DEV: Add support for custom retries for scheduled admin checks (#24224) * UX: render reviewable table with cooked styles (#24230) * FIX: the referenced site setting is named differently * FIX: form template upload type validation (#24148) * Build(deps): Bump racc from 1.7.1 to 1.7.2 (#24195) * FEATURE: show lightbox carousel by default if post has 2 or more images (#24216) * FIX: remove background image from lightbox backdrop (#24225) * DEV: Parallel scheduled admin checks (#24190) * Build(deps-dev): Bump shoulda-matchers from `c17bac4` to `0dc6c6d` (#24221) * UX: Small tweaks to recent search changes (#24220) * Build(deps): Bump google-protobuf from 3.24.4 to 3.25.0 (#24208) * Build(deps-dev): Bump selenium-webdriver from 4.14.0 to 4.15.0 (#24207) * Build(deps-dev): Bump sinon in /app/assets/javascripts (#24206) * Build(deps-dev): Bump ember-cli-deprecation-workflow (#24205) * Build(deps): Bump babel-plugin-ember-template-compilation (#24204) * DEV: Show theme/plugin error banner for route loading failures (#24218) * DEV: Resolve `observes` deprecation in create-account (#24217) * FEATURE: add plugin outlets for topic title suffix (#24215) * FIX: add dominant color attribute to chat image uploads (#24214) * UX: update search menu styling to cmd-k style (#24181) * FEATURE: Theme settings migrations (#24071) * DEV: Do not auto-generate plugin routes for admin experimental sidebar (#24211) * FIX: Broken hashtags on embed and publish pages (#24210) * DEV: Automatically generate all admin links for app for new sidebar (#24175) * FIX: reliably reorder link in custom sections (#24188) * FIX: Add translation for new push notification (#24203) * FIX: Skip animated gif treatment for onebox avatar (#24199) * FIX: Adjust placement and animation of labels for custom user fields (#24201) * FIX: Increase defer queue length (#24200) * FIX: Correctly handle materialized views during db restore (#24193) * FIX: Send push notifications for category/tag watching notifications (#24196) * DEV: Refactor watched words (#24163) * FIX: Further optimize mentioning groups in chat messages (part 2) (#24185) * Build(deps): Bump logster from 2.13.0 to 2.13.1 (#24194) * Build(deps): Bump terser in /app/assets/javascripts (#24186) * DEV: Add a couple PluginOutlets to admin theme show (#24184) * FIX: Use correct location for wizard background image (#24183) * FIX: Maintain destination_url after passkey login (#24171) * FIX: Further optimize mentioning groups in chat messages (#24122) * DEV: add a plugin modifier to change hidden site settings (#24160) * DEV: QUnit CSS tweaks (#24180) * DEV: Add a basic account creation system spec (#24179) * FIX: Full name validation regression (#24178) * UX: update composer border colour (#24176) * FiX: Update date url for thread oneboxes (#24172) * FIX: Add `rel=0` to youtube lazy videos url (#24173) * DEV: Improve plugin/theme deprecation prefixes (#24155) * DEV: Migrate associate-account-confirm to the new modal API (#24138) * FIX: Add checkbox-label to more checkbox label elements (#24174) * FIX: Correctly sanitize negative integers in site settings (#24170) * UX: call discourseLater on menu animations (#24168) * FIX: Account creation regression (#24169) * FIX: `autotracking.mutation-after-consumption` (#24164) * Build(deps): Bump terser in /app/assets/javascripts (#24167) * Build(deps): Bump net-imap from 0.4.2 to 0.4.3 (#24166) * Build(deps): Bump bootsnap from 1.16.0 to 1.17.0 (#24165) * UX: form template simpler "value missing" i18n (#24154) * UX: fix minor chat transcript overflow (#24158) * FIX: correctly display escaped thread titles (#24159) * DEV: Set selenium-webdriver version to 4.14 (#24161) * UX: convert share modal margin to gap (#24157) * UX: fix `btn-flat` focus style (#24156) * UX: set tag sort based on siteSetting (#24147) * UX: avoid footer admin menu from overflowing top (#24149) * UX: impove badge granted spacing with grid (#24150) * DEV: extend `withSilencedDeprecations` to work for ember deprecations (#24153) * DEV: Deprecate `api.decoratePluginOutlet` (#24145) * DEV: Migrate `create-account` to the new modal API (#24098) * FIX: Alter "Take Action" default behaviour to hide post (#24088) * Build(deps-dev): Bump rubocop-rspec from 2.24.1 to 2.25.0 (#24152) * Build(deps): Bump rake from 13.0.6 to 13.1.0 (#24151) * FEATURE: Add keywords support for site_settings search (#24146) * FIX: Only check for conditional mediation when needed (#24142) * DEV: Use click once for video place holder (#24141) * UX: adjust various button classes (#24121) * FIX: Memoization in EmberCli ruby helper class (#24139) * DEV: Deprecate defunct User#flag_level column (#24134) * UX: remove border radius and box shadow (#24135) * FIX: Ensure JS transpiler is available for multisite-migrate (#24136) * DEV: adds a `:chat_thread_created` trigger (#24133) * FEATURE: Add new chat indicator preference for Only Mentions (#23848) * DEV: Remove unreachable IP address validation message (#24131) * DEV: Remove deprecated EmailValidator.email_regex (#24129) * DEV: Remove deprecated #pluck_first freedom patch (#24130) * DEV: Remove deprecated PostsController#all_reply_ids (#24128) * FIX: only clear upload list if multiple not allowed (#24123) * FIX: Revise and reject post breaks on new topics queued (#24109) * DEV: Remove deprecated queue_jobs site setting (#24127) * DEV: Remove deprecated PostAction.remove_act method (#24126) * FIX: Hashtags were not decorated in user activity list (#24125) * UX: Fix mobile passkeys login button (#24124) * Build(deps-dev): Bump rubocop from 1.57.1 to 1.57.2 (#24118) * Build(deps-dev): Bump sass in /app/assets/javascripts (#24120) * Build(deps-dev): Bump rubocop-ast from 1.29.0 to 1.30.0 (#24119) * Revert "DEV: add a plugin modifier to change hidden site settings (#24104)" (#24117) * DEV: add a plugin modifier to change hidden site settings (#24104) * DEV: Remove spec calling add_to_serializer (#24116) * FIX: Username validation in create-account modal (#24114) * UX: improves support of window resize in chat (#24115) * DEV: Simplify sprockets configuration (#24111) * FIX: Restore support for custom NavItem class (#24113) * FIX: Optimize a slow query when mentioning groups in chat messages (#24103) * DEV: Add category custom field preloading to CategoryList (#23969) * UX: Wait for render before invoking A11YDialog (#24100) * DEV: Explicitly disable Ember string prototype extensions (#24110) * DEV: Relax auth provider registration restrictions for plugins (#24095) * Build(deps-dev): Bump jquery in /app/assets/javascripts (#24108) * Build(deps): Bump dartsass-ruby from 3.0.1 to 3.0.2 (#24106) * Build(deps-dev): Bump rouge from 4.1.3 to 4.2.0 (#24107) * FIX: do not check if inside cooked early (#24105) * FIX: clear state if selected text is empty (#24102) * DEV: Improve error messaging (#24099) * UX: improve quote/edit bar's rendering (#24097) * FIX: Don't show like error on topic creation (#24084) * DEV: Only run omniauth strategies for enabled authenticators (#24094) * FIX: improves reliability of post-text-selection bar (#24093) * FEATURE: Add onebox support for chat threads (#23580) * DEV: Split chat system tests into separate GitHub actions job (#24096) * FIX: Correct import path in styleguide (#24092) * UX: Update user field styling in the create-account modal (#24091) * DEV: Update styleguide to use real i18n helper implementation (#24080) * DEV: remove @ember/jquery in favor of just jquery (#24034) * Build(deps-dev): Bump minio_runner from 0.1.1 to 0.1.2 (#24086) * DEV: Hide anonymous_posting_min_trust_level setting (#24090) * FIX: Typo in migration (#24089) * FIX: Add checkbox-label CSS class to flag modal labels (#24087) * DEV: Change anonymous_posting_min_trust_level to a group-based setting (#24072) * FIX: Add support for OffscreenCanvas in media optimization worker (#24074) * FIX: Add checkbox-label class to site setting checkboxes (#24075) * DEV: add `above-category-heading` outlet (#24083) * DEV: Convert `user-field` to gjs (#24082) * DEV: add a remove_step method to Wizard (#24063) * FIX: ensures users can open channel invites (#24067) * DEV: Convert nav-item to gjs (#24076) * DEV: Move `toggleAnonymous` out of app route (#24077) * Update translations (#24079) * Update translations (#24078) * DEV: upgrade reject reason reviewable modal to glimmer component (#24073) * DEV: Re-enable minio specs by pre-installing minio binary before test run (#24050) * Build(deps-dev): Bump the types group (#24068) * DEV: Remove core plugins from plugin metadata file (#24070) * DEV: Cleanup autoimport-related config from ember-cli-build (#24006) * Fix spoiler-alert imports (#24066) * DEV: Check for mobile upload button presence (#24059) * DEV: Fix translator-bot configuration for footnote plugin (#24065) * FIX: Update path for spoiler-alert plugin (#24064) * FEATURE: Bundle discourse-spoiler-alert plugin into core (#24030) * FEATURE: Bundle discourse-footnote plugin into core (#23995) * FIX: replaces data-tooltip usage by <DTooltip /> (#24062) * UX: change to input field + label styling (#24060) * UX: Add conditional UI for passkeys (#24041) * DEV: Show a loading spinner on video placeholders (#24039) * UX: Fixes for mobile "create account" modal (#24043) * DEV: Fix Ember inspector error on anonymous user (#24042) * DEV: toasts improvements (#24046) * Build(deps-dev): Bump sinon in /app/assets/javascripts (#24052) * DEV: Use `@discourse/lint-configs` (#24038) * DEV: Upgrade pg gem to 1.5.4 (#23932) * FEATURE: add grace period for chat edits (#23800) * FIX: display and link to correct grant_by users for granted badges (#24021) * FIX: missing quote (#24049) * DEV: refactor rake asset precompile tasks (#24045) * FIX: Disable filter when loading tags in edit nav menu tags modal (#23789) * DEV: Introduce `Theme#get_setting` (#24032) * DEV: Support RUN_SYSTEM_TESTS and SINGLE_PLUGIN in docker test task (#24040) * Build(deps): Bump net-imap from 0.4.1 to 0.4.2 (#24047) * Build(deps): Bump mini_portile2 from 2.8.4 to 2.8.5 (#24048) * DEV: skips two flakey specs (#24044) * FIX: Use the category logo matching the theme (#24033) * DEV: Actually fix decorateWidget error checking logic (#24037) * DEV: Correct decorateWidget error checking logic (#24036) * DEV: Correct addPostAdminMenuButton docs (#24035) * FEATURE: Add dark mode option for category backgrounds (#24003) * DEV: Fix lazy_load_categories for uncategorized topic lists (#24028) * DEV: create new_post_moved event trigger when moving posts (#24005) * Build(deps-dev): Bump sinon from 16.1.0 to 16.1.3 in /app/assets/javascripts (#24031) * DEV: Fix flaky tests due to the lack of ordering (#23910) * UX: unify ai representing icon (#24029) * DEV: Print error when decorateWidget target does not exist (#24026) * DEV: Remove post-admin-menu placeholder (#24025) * FIX: Don't lose SummaryBox state through widget re-renders. (#24020) * FIX: Remove invalid chars from feed XMLs (#24001) * FIX: Order result set of category search (#24027) * FIX: Correctly set categoryId on Composer model (#23934) * FIX: change max-width size to make the background image expand the same width as the browser (#24004) * DEV: Fix category-selector's searching (#24023) * UX: move global option to sidebar modal footer, shorten translation (#24024) * DEV: Add option to float-kit toast to force auto-close (#24022) * UX: Fix form template mobile issues (#24019) * PERF: Stop eagerly-loading core helper modules (#24015) * DEV: Modernize chat helper definitions (#24017) * DEV: Update user-passkeys formatDate helper lookup (#24018) * FEATURE: Add all user update API scopes (#24016) * UX: video placeholder icon should always be white (#23990) * DEV: replace registerUnbound usage with default exports (#23802) * DEV: Fix `ember/require-super-in-lifecycle-hooks` (#24007) * DEV: Fix `ember/no-settled-after-test-helper` (#24008) * DEV: Fix `ember/no-incorrect-calls-with-inline-anonymous-functions` (#24010) * DEV: Fix `ember/require-valid-css-selector-in-test-helpers` (#24011) * DEV: Fix `ember/prefer-ember-test-helpers` (#24013) * DEV: Remove USE_EMBROIDER flag (#23971) * DEV: Add new experimental admin UI route and sidebar (#23952) * DEV: Remove deprecated UrlHelper#escape_uri helper (#24002) * FIX: Preserve `preview_theme_id` param on topic redirects (#23965) * DEV: Flaky fixes for Email::Sender spec (#24000) * FIX: Secure upload post processing race condition (#23968) * UX: Update highlight.js styles (#23999) * DEV: Precompile the transpiler before `themes:update` (#23997) * DEV: Remove the transpilation message (#23998) * DEV: remove unused root max width in wizard (#23996) * Build(deps): Bump sass-embedded from 1.69.3 to 1.69.4 (#23993) * Build(deps-dev): Bump the types group (#23994) * Build(deps): Bump thor from 1.2.2 to 1.3.0 (#23991) * DEV: Group `@types/*` updates (#23992) * UX: Wizard static confetti (#23973) * UX: Minor fixes to passkey handling (#23947) * DEV: Add class name of action type for flag-action-type container (#23972) * UX: improve handling of long theme names in admin (#23963) * DEV: Deprecate `api.registerConnectorClass` (#23721) * Build(deps): Bump ember-template-imports from 3.4.2 to 4.0.0 in /app/assets/javascripts (#23970) * DEV: Convert remaining core services to native class syntax (#23756) * DEV: Consolidate and update jsconfig, and add types packages (#23824) * DEV: Rename I18n imports to discourse-i18n (#23915) * Build(deps): Bump ember-this-fallback from 0.3.1 to 0.4.0 in /app/assets/javascripts (#23959) * UX: Fix deselect text location in edit sidebar category/tag modal (#23966) * FIX: log for CleanUpTags job (#23964) * Revert "FEATURE: Count only approved flagged posts in user pages (#22799)" (#23962) * Build(deps-dev): Bump sass in /app/assets/javascripts (#23960) * FEATURE: predefined simple list for admin setting (#23953) * DEV: Limit preloaded categories (#23958) * FEATURE: Use async search for category dropdowns (#23774) * DEV: Add category style deprecation check warning (#23951) * DEV: Serialize categories in topic lists (#23597) * Update translations (#23956) * Update translations (#23955) * UX: Fix icon color for video placeholder (#23957) * DEV: stop relying on global jQuery, import "jquery" instead (#23924) * Build(deps): Bump @babel/traverse from 7.23.0 to 7.23.2 (#23949) * DEV: Remove hashtag autocomplete experimental setting (#23954) * FIX: Properly attach secure images to email for non-secure uploads (#23865) * FIX: synonym tags are not considered as unused (#23950) * Build(deps): Bump terser in /app/assets/javascripts (#23948) * UX: improve touch, swipe, panning performance on mobile menus (#23775) * FIX: do not serialize status when profile is hidden (#23946) * Bump version to v3.1.2 * Bump version to v3.2.0.beta3-dev * Bump version to v3.2.0.beta2 * SECURITY: Add a default limit as to when logs should be truncated * SECURITY: Prevent unauthorized access to grouped poll results * SECURITY: Prevent arbitrary topic custom fields from being set * SECURITY: Correctly escape 'text' email preview (stable) * SECURITY: Hide user profiles from public * SECURITY: Add permissions to MessageBus in chat (stable) * DEV: Lint admin-email-preview-test.js * SECURITY: Add a default limit as to when logs should be truncated * SECURITY: Prevent unauthorized access to grouped poll results * SECURITY: Prevent arbitrary topic custom fields from being set * SECURITY: Correctly escape 'text' email preview * SECURITY: Hide user profiles from public * SECURITY: Add permissions to MessageBus in chat * UX: better align user count (#23941) * FIX: Open invite modal correctly from topic share UI (#23940) * DEV: Write execution file for test failures (#23879) * DEV: Add system specs for dismiss new on tag routes (#23936) * Build(deps-dev): Bump rubocop from 1.57.0 to 1.57.1 (#23937) * Build(deps-dev): Bump bullet from 7.1.1 to 7.1.2 (#23938) * Build(deps-dev): Bump webpack in /app/assets/javascripts (#23939) * FIX: add missing `type` to form template upload (#23935) * DEV: Add UI for passkeys (3/3) (#23853) * FIX: Transitioning to tag-intersection route (#23931) * DEV: Ensure current-post-changed is fired when switching between topics (#23930) * DEV: Add GitHub Actions workflow for testing migrations * DEV: Add codeowner for migrations related code * DEV: Update labeler for migration related code * DEV: Add initial structure for migrations-tooling * FIX: revert (edited) layout in chat message (#23927) * DEV: simplify reply to message smoke spec (#23928) * UX: improves reminder setting text (#23918) * DEV: Change video placeholder click target (#23925) * FEATURE: Add Revise... option for queued post reviewable (#23454) * Build(deps-dev): Bump sass in /app/assets/javascripts (#23921) * Build(deps-dev): Bump qunit-dom in /app/assets/javascripts (#23920) * FIX: Pass category param on /tags/intersection (#23352) * Build(deps-dev): Bump shoulda-matchers from `68f76ce` to `c17bac4` (#23923) * Build(deps-dev): Bump the babel group (#23919) * Build(deps): Bump sass-embedded from 1.69.2 to 1.69.3 (#23922) * DEV: flakey members list spec (#23917) * FEATURE: Allow searching users using a list of usernames (#23902) * DEV: Prevent videos from preloading metadata (#23807) * improve desc of review every post admin setting (#23899) * DEV: add class to bookmark-list TD (#23914) * DEV: Add a plugin outlet for conditional-loading-spinner (#23911) * A11Y: move new account disclaimer above buttons (#23884) * DEV: convert I18n pseudo package into real package (discourse-i18n) (#23867) * FIX: Chat layout shift with GitHub onebox (#23909) * FIX: Ensure nested ember components can be used with mustache syntax (#23912) * Build(deps-dev): Bump rswag-specs from 2.10.1 to 2.11.0 (#23905) * Build(deps-dev): Bump rubocop from 1.56.4 to 1.57.0 (#23906) * FIX: Support PluginOutlet invocations with deprecated tagName (#23913) * Build(deps): Bump the babel group (#23907) * Build(deps-dev): Bump @ember/legacy-built-in-components (#23908) * FEATURE: option to automatically delete unused tags (#23864) * DEV: Add note about wrapper element to `renderInOutlet` API (#23903) * DEV: Add hidden `cross_origin_opener_policy_header` site setting (#23346) * Consistently import `escape` from `discourse-common` (#23790) * DEV: fix setting isTesting (#23901) * DEV: Add routes and controller actions for passkeys (2/3) (#23587) * UX: fix likes notification for multiple users on mobile (#23896) * DEV: Improve reactivity of user-tips and remove runloop workarounds (#23897) * DEV: Resolve and prevent user fixture changes leaking between tests (#23898) * UX: opens thread on channel with unread threads (#23361) * FIX: ensures threads list button is not showing (#23895) * DEV: Add specific class to metadata section in topic-list-item (#23893) * Update translations (#23874) * Update translations (#23873) * FIX: correctly untrack topics when dismiss unread (#23894) * Build(deps): Bump loofah from 2.21.3 to 2.21.4 (#23891) * Build(deps): Bump sass-embedded from 1.68.0 to 1.69.2 (#23887) * Build(deps): Bump sidekiq from 6.5.11 to 6.5.12 (#23888) * Build(deps): Bump lograge from 0.13.0 to 0.14.0 (#23889) * Build(deps): Bump ember-cli-babel in /app/assets/javascripts (#23890) * Build(deps-dev): Bump sass in /app/assets/javascripts (#23892) * Build(deps-dev): Bump selenium-webdriver from 4.13.1 to 4.14.0 (#23885) * Build(deps): Bump regexp_parser from 2.8.1 to 2.8.2 (#23886) * A11Y: remove positive tabindex from create modal (#23883) * DEV: Sort imports * DEV: Move gjs `<template>` to bottom of class definitions * DEV: Update eslint-config-discourse * UX: keep form template client state when shrinking/reopening the composer (#23858) * UX: prevent (edited) and following from being copied (#23882) * FIX: Prevent browser refresh when clicking search menu result (#23881) * UX: Composer and sidebar better fit (#23841) * FIX: List parent/child tags correctly for categories restricted to tag groups (#23708) * DEV: Add hooks to allow overriding notify_user behavior (#23850) * DEV: Add link to gjs template override error (#23880) * DEV: Add outlet and API for adding/controlling post selection buttons (#23782) * DEV: Restructure search menu so that it can be rendered outside of header (#23852) * DEV: Support components under /index paths in themes/plugins (#23876) * DEV: Write ember exam execution file for plugin qunit in CI (#23877) * FIX: Remove border-radius from thread list item (#23878) * FIX: Disable overflow-anchor on composer textarea (#23875) * DEV: Wrap bookmark-list table header in plugin outlet (#23817) * DEV: test the primary (embroider) build on Firefox (#23869) * UX: Correct description on 'create topic' composer dropdown (#23871) * DEV: Update admin-plugins-chat queryParams definition (#23868) * DEV: Add above-topic-list-item plugin outlet and pass topic in above-latest-topic-list-item args (#23431) * UX: place (edited) on same line (#23866) * FIX: Update upload security on post rebake from UI (#23861) * FIX: display error when moving post fails (#23860) * DEV: Add meta_topic_id plugin metadata (#23838) * updated description of company_name field (#23818) * Build(deps): Bump net-imap from 0.4.0 to 0.4.1 (#23855) * Build(deps-dev): Bump parallel_tests from 4.2.2 to 4.3.0 (#23856) * DEV: Correct versions used in deprecation message (#23857) * UX: makes avatar non interactive in thread participants list (#23847) * FIX: minor chat styleguide fixes (#23849) * DEV: Start renaming cookAsync() function to cook() (#23462) * FIX: hide consolidated chat message notifications temporarily (#23846) * FIX: Fetch csrf token if needed before uploading (#23825) * FIX: correctly reset active message on destroy (#23844) * FIX: uses correct label on mobile view for members (#23845) * UI: redesigned settings/members (#23804) * DEV: Filter files included by theme DirectoryImporter (#23842) * DEV: prevents flakey spec with dots (#23843) * DEV: Update the content-tag patch (#23840) * DEV: Replace custom Onebox symbolize_keys implementation with ActiveSupport (#23828) * DEV: ensures thread panel has been opened (#23836) * FIX: properly create a mention when followed by dots (#23829) * FIX: handle thread participants limit on the frontend (#23839) * FEATURE: granular webhooks (#23070) * FIX: multiple delete themes spec fail in parallel (#23837) * Build(deps-dev): Bump the embroider group in /app/assets/javascripts with 1 update (#23831) * Build(deps-dev): Bump eslint from 8.50.0 to 8.51.0 in /app/assets/javascripts (#23832) * FEATURE: Remove support for legacy navigation menu (#23752) * Build(deps-dev): Bump bullet from 7.0.7 to 7.1.1 (#23830) * Build(deps): Bump content-tag from 1.1.1 to 1.1.2 in /app/assets/javascripts (#23833) * Build(deps-dev): Bump sass from 1.68.0 to 1.69.0 in /app/assets/javascripts (#23834) * Build(deps-dev): Bump eslint-plugin-qunit from 8.0.0 to 8.0.1 in /app/assets/javascripts (#23835) * FEATURE: delete multiple inactive themes/components (#23788) * DEV: Replace custom Onebox blank implementation with ActiveSupport (#23827) * UX: thread list fixes for alignment and more spacing on mobile (#23823) * UX: flat design for thread list (#23821) * DEV: Add `tag` argument to extra-nav-item outlet (#23815) * UX: keep timestamp on single line (#23819) * DEV: Sanitize integer site settings in front- and back-end (#23816) * DEV: Use Session service rather than singleton (#23813) * FIX: Always use the current session token in uppy (#23812) * UX: remove excerpt + style change to thread list item (#23776) * DEV: Increase tests' stability by testing tooltips separately (#23516) * DEV: Increase tests' stability by avoiding testing tooltips (#23563) * FIX: Embroider breaking index html structure (#23811) * Revert "FIX: Allow category moderators to move topics to their categories" (#23810) * Build(deps-dev): Bump sinon from 16.0.0 to 16.1.0 in /app/assets/javascripts (#23809) * Build(deps): Bump sidekiq from 6.5.10 to 6.5.11 (#23808) * DEV: Improve `addToolbarPopupMenuOptionsCallback` plugin api (#23769) * DEV: Correctly test post-cooked "widget" (#23806) * DEV: skip mobile copy link spec (#23805) * DEV: Update webauthn authentication documentation (#23787) * DEV: Convert user-status modal to a glimmer component (#23798) * DEV: Do not manually create app-events on models (#23799) * DEV: Format `UserStatus#ends_at` as a ISO8601 timestamp (#23796) * DEV: Fix random typos (#23801) * DEV: Don't attempt to render to empty element in RawRenderGlimmer (#23803) * DEV: Add body class for user activity bookmarks (#23759) * UX: Prevent unexpected preview scroll in Firefox when using grid (#23777) * FEATURE: Introduce `api.renderInOutlet` (#23719) * DEV: Update create-invite modal to component-based API (#23797) * DEV: Refactor capabilities into native class syntax (#23794) * FIX: correctly checks user activation on use (#23793) * DEV: Revert hide_plugin for chat (#23792) * FIX: long press chat message test failure (#23791) * FIX: call UserBadge.grant with badgeReason in admin interface (#23753) * UX: Center loading spinner for editing nav menu tags modal (#23786) * DEV: Build theme transpiler in custom envs (#23785) * FIX: don't nest all user info in one link (#23783) * Build(deps): Bump net-imap from 0.3.7 to 0.4.0 (#23779) * Build(deps): Bump google-protobuf from 3.24.3 to 3.24.4 (#23778) * Build(deps-dev): Bump parser from 3.2.2.3 to 3.2.2.4 (#23781) * Build(deps): Bump ffi from 1.16.2 to 1.16.3 (#23780) * FEATURE: support a description attribute on form template fields (#23744) * DEV: removes dead code (#23772) * FIX: ensures close arg from d-menu/:content works (#23773) * DEV: enforces system user membership (#23771) * UX: enhances chat copy features (#23770) * Update translations (#23758) * Update translations (#23757) * DEV: Convert composer-editor tests to gjs (#23768) * Build(deps): Bump logster from 2.12.2 to 2.13.0 (#23764) * Build(deps): Bump zod from 3.22.2 to 3.22.3 in /app/assets/javascripts (#23766) * Build(deps): Bump postcss in /app/assets/javascripts (#23767) * Build(deps): Bump terser in /app/assets/javascripts (#23765) * UX: Update 'gtm_container_id' site setting description (#23763) * DEV: Refactor webauthn to support passkeys (1/3) (#23586) * DEV: Update content-tag patch following version bump (#23762) * DEV: Enable USE_TURBO flag for plugin specs in docker.rake (#23761) * UX: removes username from bookmark notification (#23760) * DEV: add the create-account-after-user-fields plugin outlet (#23688) * A11Y: improve summary page user link structure (#23746) * DEV: fix history modal code, consolidate style (#23743) * A11Y: composer tip close link should be a button (#23731) * FIX: Allow category moderators to move topics to their categories (#20896) * Build(deps): Bump a11y-dialog in /app/assets/javascripts (#23755) * FIX: Use correct subfolder format for ember-cli config (#23754) * DEV: Add task to anonymize user data (#20522) * FEATURE: Add API key scopes for tag_groups (#23634) * DEV: Update to diffHTML 1.0.0-beta.30 (#23729) * DEV: Remove chat related code from core (#23750) * UX: more topics mobile spacing (#23745) * Build(deps): Bump sidekiq from 6.5.9 to 6.5.10 (#23749) * Build(deps): Bump content-tag in /app/assets/javascripts (#23748) * A11Y: Improve small-post markup for screen readers (#23732) * A11Y: fix keyboard nav for custom bookmark time (#23710) * A11Y: improve about page profile link markup (#23695) * A11Y: correctly markup `/about` stat table headers, tweak style (#23733) * A11Y: remove title from notification menu icons (#23735) * A11Y: add page title to account activation step (#23736) * DEV: Convert ChangePostNoticeModal to DModal and Glimmer component (#22798) * FIX: Pass email correctly when resending activation email (#23741) * DEV: Add gjs support for themes (#23473) * Build(deps): Bump a11y-dialog in /app/assets/javascripts (#23737) * Build(deps-dev): Bump unicode-display_width from 2.4.2 to 2.5.0 (#23739) * Build(deps): Bump excon from 0.103.0 to 0.104.0 (#23738) * DEV: Change share quote visibility setting default to 'all' (#23720) * FIX: Remove reference to removed site setting from num_users_to_silence_new_user setting (#23718) * DEV: Bump ember-legacy-built-in-components (#23734) * UX: focused spacing in more topics table (#23730) * Build(deps-dev): Bump the embroider group (#23728) * DEV: Group embroider updates in dependabot (#23727) * A11Y: Improve contrast on the WCAG color schemes (#23692) * A11Y: add aria-label to share copy button (#23706) * Revert "DEV: Add source-map-support in tests for qunit stack-traces (#23653)" (#23717) * Build(deps-dev): Bump rubocop from 1.56.3 to 1.56.4 (#23711) * FEATURE: add custom date range filter for admin dashboard reports (#23702) * DEV: Add failing test for pull-hotlinked codeblocks (#23682) * FIX: Make CookText component reactive (#23709) * DEV: convert change owner modal to glimmer component (#23668) * FIX: keep bookmark modal open when using keyboard (#23707) * FIX: correctly clear the quote state (#23705) * A11Y: UI emoji are decorative, use `alt=""` (#23690) * A11Y: add `aria-current` to active navigation item (#23691) * A11Y: aria-label for mobile topic list avatar (#23693) * DEV: Modernize `<AddCategoryTagClasses>` to use bodyClass helper (#23703) * DEV: Modernize `<AddTopicStatusClasses>` 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 `@ember/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 `<DToggleSwitch/>` 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 `<DSection />` (#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 @uppy/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 @babel/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 @babel/standalone in /app/assets/javascripts (#23262) * Build(deps): Bump sshkey from 2.0.0 to 3.0.0 (#23248) * Build(deps-dev): Bump @babel/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 @model/@models 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 @babel/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 @babel/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 `<DToggleSwitch/>` (#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:@` 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 `<template>` 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 @babel/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 @babel/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 <p> 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 <DModal /> 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 `<DModal>` as a `<form>` element (#22507) * UX: do not show presence in message creator selection (#22506) * DEV: removes unused components (#22497) * FIX: makes chat user avatar show presence by default (#22490) * DEV: makes <Chat::Admin::ExportMessage /> use glimmer (#22498) * DEV: Cleanup an old spec (#22503) * DEV: stop tracking changes to ruby-gemset (#22504) * FEATURE: Warn about outdated translation overrides in admin dashboard (#22384) * Revert "FIX: Always clear caches after committing the current transaction" (#22493) * FIX: Always clear caches after committing the current transaction (#22491) * FEATURE: Separated 'trusted users can edit others' setting for trust level 3 & 4 (#21493) * DEV: Raise error instead of warning in testing (#22440) * FIX: typo in property name (#22489) * FIX: don't use etags for post-upload verification (#21923) * FIX: Show preview of Arial/System font in wizard (#22486) * FIX: Track thread in UI when user sends first message (#22462) * FEATURE: Add default site settings to control the defaults of navigation menu preferences (#22485) * FIX: Can't dismiss new topics for experimental new new view (#22484) * UX: Clarify "disable tags/category notification" settings (#21619) * Build(deps-dev): Bump @babel/standalone from 7.22.6 to 7.22.8 in /app/assets/javascripts (#22479) * Build(deps): Bump sanitize from 6.0.1 to 6.0.2 (#22473) * Build(deps-dev): Bump @babel/core from 7.22.6 to 7.22.8 in /app/assets/javascripts (#22482) * UX: adjust sidebar modal styles, consolidate css (#22444) * Build(deps): Bump faraday from 2.7.9 to 2.7.10 (#22477) * DEV: fix flakeyness with drawer specs (#22476) * Build(deps): Bump google-protobuf from 3.23.3 to 3.23.4 (#22478) * FIX: Don't redirect when manually adding 2fa (#22474) * DEV: more resilient auto remove spec (#22472) * FIX: correctly makes dm creator to follow channel (#22470) * FEATURE: Basic support for threads.net onebox (#22471) * DEV: Remove `OK` pretender helper (#22438) * DEV: Skip flaky visit-channel system tests (#22469) * UX: Improve position of modal close button (#22450) * DEV: Convert activation modals to new component-based API (#22227) * FIX: Set test transaction to before_all transaction (#22445) * DEV: Convert dismiss modals to component-based API (#22262) * DEV: Convert second-factor-backup-edit modal to component-based API (#22366) * FEATURE: Enable loading slider by default (#22439) * DEV: Simplify 'dismiss' button display logic (#22467) * FIX: Do not attempt to focus topic-list-item after destroy (#22468) * FIX: removes discourse-teams-sidebar support (#22465) * FIX: limits legacy sidebar height (#22466) * DEV: Introduce Chat Notices with publishing method (#22369) * DEV: Convert share-topic modal to new component-based API (#22154) * FIX: Add missing chat translations * FIX: Mark threads read when threading enabled for a channel (#22458) * DEV: Try fix category form template flaky (#22461) * FIX: Show replies count on thread indicator regardless of participants (#22459) * DEV: Remove ActiveRecord connection pool busy check in tests (#22460) * DEV: Normalize key modifier checks for keyboard shortcuts (#22451) * FIX: Avoid transitioning when a chat thread component is destroyed (#22457) * DEV: Fix number of chars for chat message content in fabricator (#22454) * DEV: Reduce parallel test processors for system tests to 4 (#22456) * DEV: Switch edit sidebar section modal to component (#22430) * FIX: post alerter notification when topic directly watched (#22433) * DEV: Fix flaky chat drawer system test (#22452) * Revert "DEV: Reduce number of parallel test processors to 3 for system tests (#22423)" (#22453) * DEV: Avoid waiting full capybara default wait time (#22449) * FIX: Better handling of deleted thread original messages (#22402) * DEV: prevents message actions to hide drawer's header (#22448) * DEV: Add more helpful assertions for flaky system tests in CI (#22432) * Build(deps): Bump nokogiri from 1.15.2 to 1.15.3 (#22447) * FIX: Prevent field name conflicts when using the `groups_for_users_search` modifier (#22446) * FIX: more consistent composer focus and replying indicator (#22443) * FIX: do not filter on category name (#22442) * FIX: correctly show unread and presence (#22441) * REFACTOR: improve poll info layout (#22353) * FEATURE: new jump to channel menu (#22383) * DEV: Remove unused raw-email code (#22364) * Build(deps-dev): Bump @babel/standalone in /app/assets/javascripts (#22419) * DEV: Convert second-factor-add-totp modal to component-based API (#22358) * Build(deps-dev): Bump @babel/core in /app/assets/javascripts (#22418) * FEATURE: Introduce 'loading slider' for page navigations (#22042) * DEV: fix flaky specs for user status tooltip (#22435) * DEV: Convert group-add-members modal to component-based API (#22368) * DEV: Update JSON Editor to Glimmer and use new modalAPI (#22421) * DEV: Update keyboard shortcuts to glimmer and new modal api (#22422) * FIX: Error when loading a channel with threading enabled but no threads (#22434) * DEV: Ignore requests to `/favicon.ico` requests in test env (#22431) * DEV: Add process pid to `bin/turbo_tests --format documentation` output (#22429) * DEV: Fix flaky system test when expanding chat message actions on mobile (#22428) * DEV: Log server errors encountered when running system tests on CI (#22427) * DEV: Unhide chat experimental threads site setting (#22426) * DEV: Add some modal PageObject open/closed assertions (#22425) * DEV: Fix flaky edit nav menu tags system test (#22424) * DEV: Reduce number of parallel test processors to 3 for system tests (#22423) * Build(deps): Bump rubocop from 1.54.0 to 1.54.1 (#22420) * DEV: skip post-inline-mention test (#22417) * DEV: Convert do-not-disturb modal to component-based API (#22394) * DEV: Update default modal alert class (#22416) * DEV: Convert form template modals to new component-based API (#22196) * DEV: Slack import script (#22386) * FIX: mobile share canonical URL (#22370) * DEV: Convert second-factor-edit modals to component-based API (#22367) * DEV: Error if invalid `@flashType` passed to modal (#22414) * Update translations (#22412) * DEV: Convert fullscreen modals to component-based API (#22248) * DEV: Convert second-factor-add-security-key modal to component-based API (#22351) * DEV: Convert poll modals to new component-based API (#22164) * DEV: Ensure `DModal` model argument is still available during destroy (#22411) * DEV: Add `@bodyClass` argument to `<DModal>` component (#22410) * UX: Thread indicator small fixes (#22389) * DEV: Skip flaky test introduced in 82d6420 (#22409) * DEV: Fix or remove flaky chat specs (#22406) * DEV: Improve `PageObjects::Modals::SidebarEditTags#has_tag_checkboxes?` (#22407) * DEV: Ensure browser network conditions is reset in system tests (#22404) * FEATURE: allow user to override watched_precedence_over_muted setting (#22340) * PERF: Paginate loading of tags in edit nav menu tags modal (#22380) * DEV: Fix edit nav menu modals not appearing on mobile (#22403) * DEV: Switch edit nav menu tags/categories modal to component (#22401) * UX: visual indicator for reorder sidebar links mode (#22379) * FIX: Minor Twitter onebox improvements (#22387) * DEV: Skip flaky post-inline-mention test (#22399) * DEV: Skip all chat user status tests (#22398) * DEV: Skip remaining flaky mention status tests (#22397) * DEV: Skip flaky chat deleted message mention status flake (#22396) * DEV: Skip flaky chat mention status test (#22395) * DEV: Update diffhtml to 1.0.0-beta.29 again (#22365) * DEV: Set owner on widget instances (#22391) * FIX: Correctly intercept `<a href target="_self"` (#22077) * DEV: Update `hasTouchCapabilities` in `d-tooltip.js` (#22388) * FEATURE: Use rich user status tooltip everywhere (#21125) * FIX: Allow to use `%h%m%s` for youtube `t` param (#22299) * FIX: improve performance of post alerter job (#22378) * DEV: Introduce new component-based DModal API (#21304) * DEV: Remove unused `testSelectKitModule` (#22363) * FIX: Tags in tag groups not shown in edit nav menu tags modal (#22382) * DEV: Move user count update for channels to ensure_consistency! (#22321) * FIX: Preload fonts before rerendering wizard style canvas (#22361) * FIX: ActiveModel::Types :array load error in production (#22377) * DEV: Refactor DM channel creation into new service pattern (#22144) * FIX: Revert uppy aws-s3 upgrade (#22376) * Build(deps-dev): Bump eslint from 8.43.0 to 8.44.0 in /app/assets/javascripts (#22372) * Build(deps): Bump faraday from 2.7.8 to 2.7.9 (#22373) * Build(deps-dev): Bump rails-dom-testing from 2.0.3 to 2.1.1 (#22374) * Build(deps): Bump rubocop from 1.53.1 to 1.54.0 (#22375) * DEV: Clean up package.json files (#22349) * FIX: Do not follow redirects for twitter oneboxes (#22362) * DEV: Try fix flaky chat navigation spec (#22360) * Revert "Build(deps): Bump @uppy/aws-s3-multipart from 3.1.3 to 3.4.0 in /app/assets/javascripts (#22190)" (#22359) * Build(deps): Bump @uppy/aws-s3-multipart from 3.1.3 to 3.4.0 in /app/assets/javascripts (#22190) * DEV: Update MessageBus to 4.3.7 (#22357) * FIX: consistent sidebar section external links (#22343) * Build(deps): Bump @uppy/aws-s3 from 3.0.6 to 3.2.0 in /app/assets/javascripts (#22192) * Build(deps): Bump @uppy/utils from 5.2.0 to 5.4.0 in /app/assets/javascripts (#22191) * DEV: Try fix flaky chat navigation spec (#22356) * DEV: Upgrade MessageBus to latest version. (#22355) * DEV: Bump oj from 3.13.14 to 3.15.0 (#22352) * Build(deps): Bump faraday from 2.7.7 to 2.7.8 (#22338) * DEV: Skip a flaky system test (#22354) * SECURITY: Bump URI gem to 0.12.2 to address CVE-2023-36617 (#22350) * FIX: fix normalize_raw method for nil inputs in migration scripts (#22304) * Build(deps): Bump uri from 0.12.1 to 0.12.2 (#22348) * DEV: Update sub-dependencies (#22325) * FIX: DateTimeInputRange should show correct intervals with @relativeDate param (#22331) * DEV: Remove unused `User` methods (#22347) * DEV: Delete `uglify` asset codepath (#22346) * DEV: Fix random typos (#22345) * FIX: A mobile header regression in 9cc2b5c (#22344) * DEV: Add diffhtml composer preview specs (#22333) * FEATURE: allows to enable/disable threading in UI (#22307) * FIX: error when CategoryList tried to find relevant topics (#22339) * FEATURE: Track last_viewed_at datetime for channel members (#22294) * DEV: Remove AJAX usage in chat-channel model (#22320) * DEV: Use same excerpt everywhere in chat (#22319) * Build(deps-dev): Bump eslint-plugin-qunit in /app/assets/javascripts (#22337) * Build(deps): Bump message-bus-client in /app/assets/javascripts (#22335) * Build(deps): Bump webpack in /app/assets/javascripts (#22336) * DEV: add before-header-panel plugin outlet (#22285) * UX: Make template fields fill the container width (#22334) * DEV: Make max length of template and name admin configurable (#22332) * DEV: Add support for uploads to form templates (#22232) * DEV: Add plugin_modifier for groups in `users_controller#search_users` (#22329) * DEV: Resolve poll plugin deprecation (#22330) * DEV: Don't print plugin changes in details blocks (#22328) * Revert "DEV: Update diffhtml from 1.0.0-beta.20 to 1.0.0-beta.29 (#22311)" (#22327) * DEV: Fix default pretenders (#22326) * FEATURE: Show available interpolation keys when overriding translations (#22220) * DEV: Update moment-timezone-with-data (#22313) * DEV: Update diffhtml from 1.0.0-beta.20 to 1.0.0-beta.29 (#22311) * DEV: Update chartjs-plugin-datalabels from 2.0.0 to 2.2.0 (#22310) * DEV: Update highlightjs from 11.6.0 to 11.8.0 (#22312) * DEV: Fix flaky thread navigation spec (#22323) * DEV: Get rid of old chat TODOs (#22324) * FIX: Chat threads N1 (#22322) * FIX: Set `Jobs::BackfillSidebarSiteSettings` cluster concurrency to 1 (#22316) * FEATURE: Sort thread list by unread threads first (#22272) * Build(deps-dev): Bump test-prof from 1.2.1 to 1.2.2 (#22314) * Build(deps-dev): Bump terser from 5.18.1 to 5.18.2 in /app/assets/javascripts (#22315) * DEV: Fix failing spec after Rails upgrade to 7.0.5.1 (#22317) * FEATURE: Conditionally change back button route for thread (#22129) * UX: Use modals to edit categories and tags that appear in sidebar (#22295) * DEV: Upgrade Rails to 7.0.5.1 (#22305) * DEV: Add `order:title` filter to experimental `/filter` route (#22293) * DEV: Update `@json-editor/json-editor` (#22308) * DEV: Move migration to the correct directory (#22309) * FIX: nest theme translation data so it saves (#22306) * UX: Align chat separators, increase mobile chat width (#22298) * DEV: Fix lint and flaky summarization spec (#22303) * DEV: add `group-messages` css class to user private messages group page. (#22302) * DEV: Cache summarization strategy results. (#22230) * Update translations (#22301) * Update translations (#22300) * FIX: Cater for polls that can have multiple votes per user (#22297) * FIX: hide "Save Draft" button when editing post on same topic. (#22266) * DEV: Force update of unset-value (#22287) * DEV: add raw plugin outlet to create new topic list item columns. (#22296) * UX: add max-width to thread indicator (#22282) * DEV: Remove ember-rfc176-data (#22290) * UX: Fix position of filters in edit categories/tags nav menu modals (#22292) * FEATURE: new watched_precedence_over_muted setting (#22252) * UX: Order categories in edit navigation menu modal by name (#22291) * DEV: Introduce an `array` type for Chat contracts (#22278) * DEV: Force upgrade of `loader-utils` (#22289) * DEV: Update moment-timezone (#22284) * Build(deps): Bump timeout from 0.3.2 to 0.4.0 (#22267) * FIX: Abort transition when `transition.from` present on new-topic route (#22253) * Build(deps): Bump rspec-support from 3.12.0 to 3.12.1 (#22286) * Build(deps): Bump rubocop from 1.53.0 to 1.53.1 (#22288) * FEATURE: Try to load plugin gems platform variants (#21643) * FIX: render plugin's commit URL correctly and open in new window. (#22273) * FIX: Show tag chooser in composer for PM on mobile (#22241) * DEV: Remove ember-cli-dependency-checker (#22283) * FEATURE: Show first notification tip to all users (#22258) * DEV: Update ember-cli to 5.0.0 (#22280) * FIX: longer touch for active message (#22279) * DEV: Update ember-resolver (#22277) * UX: fix user preference `saved!` position (#22263) * UX: chat message thread indicator improvements (#22224) * Build(deps): Bump html-entities in /app/assets/javascripts (#22269) * DEV: Update the rubocop-discourse gem * DEV: Skip flaky chat system tests (#22275) * FIX: sidebar dot color when chat is off (#22264) * FEATURE: Add hooks for email poller plugins (#21384) * FEATURE: display commit hash for each plugin on `/admin/plugins` page. (#22176) * DEV: Update display name in new quote format - Part 2 (#22104) * DEV: Fix flaky tests by specifying tag names in asc order (#22271) * DEV: Use `use_redis_snapshotting` in rate limiting test (#22270) * DEV: Added data attributes to identify the user settings in the UI (#22261) * DEV: Add plugin outlet above the navigation in the messages tab in the user profile (#22254) * DEV: add before/after/below main-outlet outlets (#22260) * Fix structural problems with the openapi spec (#22256) * FIX: Attempt to reconnect to server when browser visibilty changes (#22259) * A11Y: Don't output `aria-labelledby` when card is empty (#22247) * Build(deps): Bump sass-embedded from 1.63.5 to 1.63.6 (#22249) * UX: adding max height to image in chat blockquote (#22255) * FEATURE: Add dropdown to filter by selected in edit nav menu modal (#22251) * DEV: Improve PageObjects::Components::Sidebar#has_tag_section_links? (#22250) * DEV: Refactor edit tags/categories modal to reduce duplication (#22240) * UX: Fix overridden setting highlight color (#22245) * A11Y: Adjust contrast and font size for mini profiler widget (#22246) * DEV: Update ember-template-lint (#22242) * DEV: Refactor updating parent/child relationships between themes (#22244) * FIX: Use Twitter API v2 for oneboxes and restore OpenGraph fallback (#22187) * FEATURE: Split navigation preference for count and behavior of sidebar links (#22203) * DEV: Use online/offline window events to track network connectivity (#22243) * DEV: Add plugin outlet to latest-topic-list-item component (#22238) * UX: Fix edit tags/categories navigation menu modal has no focus on input (#22237) * Build(deps): Bump sass-embedded from 1.63.4 to 1.63.5 (#22234) * Build(deps): Bump webpack from 5.87.0 to 5.88.0 in /app/assets/javascripts (#22235) * Build(deps-dev): Bump sass from 1.63.4 to 1.63.6 in /app/assets/javascripts (#22236) * DEV: Remove network_disconnected_spec.rb (#22233) * DEV: Update eslint/prettier (#22226) * DEV: Cleanup unused chat route (#22231) * DEV: Cleanup several unused routes (#22229) * FIX: Force ordering to make things more consistent and fix flaky test (#22228) * FIX: Staged user creation loses user custom field data (#22206) * DEV: Add spec for notification data modifier (#22223) * FEATURE: add db:resize:notification_id task for growing table (#20505) * FEATURE: Export chat messages to CSV file (#22113) * UX: adds small delay before making message active (#22221) * Build(deps-dev): Bump terser in /app/assets/javascripts (#22193) * FIX: Site's top tags not shown for anonymous user (#22219) * FEATURE: Add deslect all and reset to defaults btn edit nav menu modal (#22218) * UX: Display spinner while loading tags for edit nav menu tags modal (#22217) * DEV: Typo in an output message of uploads.rake (#22209) * FIX: update unread and new count for categories (#22145) * FEATURE: Add input filter for editing tags in navigation menu modal (#22216) * FEATURE: Add modal for editing tags in navigation menu (#22214) * DEV: Improve skip test comment (#22215) * Build(deps-dev): Bump sinon from 15.1.2 to 15.2.0 in /app/assets/javascripts (#22211) * Build(deps): Bump faraday from 2.7.6 to 2.7.7 (#22210) * DEV: Add custom error messages to form template forms (#22169) * DEV: Add plugin modifier for notification_data manipulation (#22208) * FIX: 'in all topics' should search in all topics (#22207) * DEV: store user ids for different types of notifications in different hashes (#22049) * Update translations (#22205) * Update translations (#22204) * DEV: support nil values in the eq_time matcher (#22116) * FEATURE: Scroll to first message when clicking date in chat (#21926) * FIX: Don't error when clicking on a custom link in community section (#22174) * FIX: Add aria-label attribute to cooked hashtags (#22182) * UX: Remove horizontal scroll on mobile for edit categories nav modal (#22197) * DEV: Update chat cooked quote spec (#22202) * DEV: use HTML5 version of loofah (#21522) * revert message bus (#22200) * DEV: Roll back MessageBus version (#22199) * DEV: Deselect all and reset to defaults btns to edit categories modal (#22143) * Build(deps): Bump message-bus-client from 4.3.2 to 4.3.3 in /app/assets/javascripts (#22194) * Build(deps): Bump message_bus from 4.3.2 to 4.3.3 (#22188) * FIX broken topic embedding because of incomplete security patch (#22088) (#22184) * FIX: Make the arrow and tooltip background the same color (#22171) * FEATURE: Enable image grid by default (#22160) * FIX: Theme translations resetting on save (#22072) * FIX: don't add "Re:" prefix in email subject for first post of group PMs. (#22175) * FIX: Broken group messages inboxes when group name is mixed case (#22183) * FIX: small bug with topics and my posts translations (#22179) * REFACTOR: <ChatMessage> component (#22172) * DEV: Don't hardcode timeout for `SystemHelpers#try_until_success` (#22180) * DEV: Fix warning when exporting Staff Actions (#22168) * Build(deps-dev): Bump eslint from 8.42.0 to 8.43.0 in /app/assets/javascripts (#22178) * Build(deps-dev): Bump minitest from 5.18.0 to 5.18.1 (#22177) * DEV: Cleanup glimmer search menu tests (#22170) * DEV: more reliable thread level spec (#22173) * DEV: Escape html and emojis in search menu topic result type titles (#22166) * FIX: Incompatibility between default_composer_category and default_subcategory_on_read_only_category (#22165) * FIX: Restore behavior of `window.Discourse` (#22167) * DEV: Add plugin modifier to expand group mentions in post_alerter (#22163) * DEV: Update poll components and controllers to native class syntax * DEV: Modernize poll JS directory structure and colocate components * UX: remove short topic timeline transition (#22161) * UX: fix avatar selector overflow (#22159) * DEV: Remove renderTemplate from 2fa preferences, email preferences, and new-category (#22156) * DEV: Convert d-navigation-item to glimmer (#22155) * DEV: Update TranslateAccelerator missing translation string (#22158) * UX: consistent button hover transitions (#22157) * DEV: Upgrade search-menu to glimmer (#20482) * DEV: Introduce Zeitwerk reloading check in CI (#22151) * DEV: Namespace chat_header_indicator UserOption enum (#22152) * FIX: correctly sets and uses has-reply class (#22153) * DEV: Do not attempt to overwrite UserOption enums during autoloading (#22150) * FIX: css class was incorrect (#22149) * FIX: various mobile chat improvements (#22132) * DEV: Remove deprecated 'desc' parameter from group members endpoint (#22147) * DEV: Change `have_section_link` match to use exact text match. (#22148) * DEV: Further refine development reload for plugin files (#22141) * DEV: Remove old deprecation warnings where constants already removed (#22140) * DEV: Remove Discourse.redis.delete_prefixed (#22103) * DEV: Add attributes identifying the setting on the user chat settings (#22139) * FEATURE: Allow users to manually track threads without replying (#22100) * DEV: Don't render header on invites page (#22138) * UX: Improve defaults shown for categories and tags section in sidebar (#22062) * FIX: direct message channels can be flagged (#22134) * Build(deps-dev): Bump ember-cli-app-version in /app/assets/javascripts (#22136) * Build(deps-dev): Bump ember-cli-dependency-checker (#22137) * Build(deps): Bump sass-embedded from 1.63.3 to 1.63.4 (#22135) * Build(deps): Bump @ember/test-helpers in /app/assets/javascripts (#22133) * DEV: enable plain functions as helpers in Ember (#22023) * UX: softer dropdown and menu panel shadows (#22114) * DEV: Added modifier to change mentions extracted from cooked text (#21654) * Build(deps): Bump webpack in /app/assets/javascripts (#22121) * UX: stack group inbox label horizontally (#22130) * DEV: Migrate discourse core to Ember initializers (#22095) * FIX: allows selection of messages in threads (#22119) * DEV: Do not auto reload on plugin spec file changes (#22127) * FIX: Minor thread indicator issue (#22128) * DEV: Export dropdown in widgets/header to be used by plugins/TCs (#22126) * UX: Hide sidebar on invites page (#22125) * FIX: De-duplicate poll vote on user merge (#22107) * DEV: Fix broken link (#22112) * FIX: rename everything link to topics (#22076) * FEATURE: Thread indicator improvements and participants (#21909) * Build(deps-dev): Bump better_errors from 2.10.0 to 2.10.1 (#22123) * Build(deps-dev): Bump sass from 1.63.3 to 1.63.4 in /app/assets/javascripts (#22122) * Build(deps): Bump racc from 1.7.0 to 1.7.1 (#22120) * Build(deps): Bump json_schemer from 1.0.2 to 1.0.3 (#22124) * FIX: Update sidebar to be navigation menu (#22101) * DEV: Clean up unused routes (#22118) * UX: Remove branded blobs background (#22115) * UX: Add required indicator to fields with `required` validation (#22096) * Unsilence this-property-fallback (#21615) * DEV: Temporarily hide form when editing topic with template (#22099) * FEATURE: Implement max_tags_per_email_subject (#22050) * A11Y: Adjust contrast for the Dark and Solarized Dark tertiary color schemes (#22102) * DEV: group tests related to mentions (#22017) * FIX: Moderator(non-admin staff user) group visibility scope queries (#22109) * FIX: Don't add the no-text class if translatedLabel is present (#22111) * FIX: Correctly get the topic_id from the first post (#22110) * FIX: Update workbox class references following version bump (#22108) * PERF: fixes multiple N+1 while loading threads (#22106) * FIX: Allow half-merged user to be accessed in admin UI (#22105) * DEV: Update username in new quote format - Part 1 (#22032) * FIX: Backfill chat thread memberships (#21971) * Build(deps): Bump html-entities in /app/assets/javascripts (#22098) * Build(deps): Bump google-protobuf from 3.23.2 to 3.23.3 (#22097) * PERF: limit anonymization to 1 per cluster (#21992) * PERF: Increase performance of large csv exports for User Histories (#22008) * REFACTOR: move shadow vars to css custom props (#22094) * DEV: Fix random typos (#22078) * Version bump to v3.0.4 (#22093) * Version bump to v3.1.0.beta5 (#22092) * UX: force long filenames to wrap in lightbox (#22091) * FEATURE: Custom content summarization strategies. (#21813) * SECURITY: Prevent dismissal of topics that user can't see (#22090) * SECURITY: set max-height property for iframes (#22089) * SECURITY: Use canonical url for topic embeddings (#22088) * SECURITY: Prevent dismissal of topics that user can't see (#22086) * SECURITY: Use canonical url for topic embeddings (#22085) * SECURITY: Limit ThemeField value length to prevent DoS (#22087) * SECURITY: set max-height property for iframes (#22084) * PERF: improve `findAllMatches` speed (#22083) * DEV: Cleanup unused group and post routes (#22067) * UX: Better alignment for experimental grids (#22066) * Update translations (#22082) * Update translations (#22081) * UX: remove rounded border on hover lightbox (#22080) * DEV: Set limits on custom fields * DEV: Clean up old polls data from custom fields * DEV: Try to de-flake topic page specs (#22065) * FIX: change dismiss new button label (#22075) * Build(deps-dev): Bump terser in /app/assets/javascripts (#22074) * Build(deps): Bump rubocop from 1.52.0 to 1.52.1 (#22070) * Build(deps): Bump net-imap from 0.3.4 to 0.3.6 (#22069) * Build(deps-dev): Bump sinon in /app/assets/javascripts (#22073) * UX: Make user tips more visible (#22012) * Build(deps-dev): Bump @babel/core in /app/assets/javascripts (#22026) * UX: dark color palettes need darker shadows (#22051) * Build(deps-dev): Bump @babel/standalone in /app/assets/javascripts (#22027) * DEV: Increase topic_page_spec wait time (#22063) * FIX: use `_presentChannels.size` instead of `_presentChannels.length` (#22053) * FIX: TOC anchors in a subfolder setup (#21985) * Build(deps): Bump webpack in /app/assets/javascripts (#21987) * DEV: Bump workbox packages from 4.3.1 to 7.0.0 (#22052) * DEV: Fix subfolder setup in dev env (#21983) * FEATURE: Dynamic chunk size with uppy (#22061) * UX: Chat unread indicator refactor (#22040) * Build(deps-dev): Bump selenium-webdriver from 4.9.0 to 4.10.0 (#21991) * Build(deps): Bump redis-namespace from 1.10.0 to 1.11.0 (#22028) * DEV: Use runtime info to split test files for parallel testing (#22060) * DEV: Use `concat-class` helper when setting class for `DButton` (#21998) * Build(deps): Bump parser from 3.2.2.1 to 3.2.2.3 (#22030) * Build(deps): Bump sass-embedded from 1.62.1 to 1.63.3 (#22057) * Build(deps): Bump jwt from 2.7.0 to 2.7.1 (#22054) * Build(deps-dev): Bump mocha from 2.0.2 to 2.0.4 (#22055) * Build(deps): Bump regexp_parser from 2.8.0 to 2.8.1 (#22056) * Build(deps-dev): Bump capybara from 3.39.1 to 3.39.2 (#22058) * Build(deps-dev): Bump sass from 1.62.1 to 1.63.3 in /app/assets/javascripts (#22059) * UX: Small spacing fix for grid items (#21979) * UX: minor #mention style adjustments (#22048) * DEV: Fix interactions between tests via plugin svg sprite cache (#22047) * PERF: drop throttling from resize node (#22046) * Revert "FIX: attempts to exit lock-on early (#21949)" (#22045) * DEV: implements styleguide for chat header icon (#22033) * UX: increase contrast of "more" sidebar dropdown (#22044) * UX: list group label indicator should match existing design (#21999) * FIX: scroll top after chat activation (#21952) * FIX: various mobile optimizations (#22043) * Add discourse-newsletter-integration plugin (#22031) * FEATURE: Add new site setting type for tag-group lists (#21993) * FIX: Make serialized watched word regex Javascript compatible (#22010) * PERF: Improve workbox loading strategy (#22019) * FIX: correctly re-conciliate message bus backlog (#22020) * DEV: Refactored and moved Edit Directory Column tests out of directory_columns_controller_spec (#22022) * FIX: prevents long press to hijack reaction event (#22021) * DEV: Fix test (#22018) * Revert "DEV: Use runtime info to split test files for parallel testing (#21896)" (#22016) * FIX: json_schemer no longer allows nil keys (#22015) * DEV: disable flaky specs (#22013) * DEV: Create posts from form templates (#21980) * UX: Remove 'Create Topics' notice (#21958) * DEV: fix flaky specs (#22011) * FIX: Create new PM notifications for `watching_first_post` groups (#21997) * FIX: disables pointer events while showing menu (#22009) * FEATURE: Add Mailpace webhook (#21981) * UX: show tooltip for global nav section icon (#21974) * DEV: disable flaky specs (#22007) * UI: correctly adds spacing for selection-management (#22006) * Build(deps): Bump json_schemer from 0.2.23 to 1.0.2 (#21989) * DEV: Added chat api to remove secondary actions (#21982) * DEV: Fix and unskip flaky specs (#22005) * DEV: add class for static login description section (#22002) * DEV: refactor calls to message.cook when sending messages (#21934) * FIX: prevents lightbox to close chat on escape (#22003) * REVERT: makes touchstart passive (#22004) * FIX: on iOS PWA prevents touch to click (#22000) * FIX: prevents back history loop (#22001) * UX: improves chat message long press and touch (#21984) * FIX: Do not allow blank chat messages (#21968) * UX: Allow users to filter categories in edit sidebar categories modal (#21996) * FIX: Pasting files into chat was not working (#21995) * FEATURE: Support sub-subcategories in new edit sidebar categories modal (#21994) * FIX: correctly set value on textarea interactor (#21990) * Build(deps): Bump faraday from 2.7.5 to 2.7.6 (#21986) * DEV: Implement staff logs for user columns edits (#21774) * FIX: Send TL2 promotion message to correct user (#21978) * CSS: Move table editor button to right (#21976) * REFACTOR: composer/thread (#21910) * PERF: Cache ToS and Privacy Policy paths (#21860) * FEATURE: image grid in posts (experimental) (#21513) * FIX: add category colors back to categories pages (#21977) * FIX: Add removed image that may still be used (#21957) * PERF: avoids eager pluck in posts controller (#21973) * PERF: prevents eager pluck in post alerter (#21972) * DEV: Convert modal wrapper from named outlet to component (#21970) * FIX: Non-Interfering Backdrop Clicks (#21916) * Build(deps): Bump excon from 0.99.0 to 0.100.0 (#21962) * Build(deps): Bump html-entities in /app/assets/javascripts (#21961) * FIX: apply chat header icon indicator style to urgent only (#21967) * UX: Don't block render of user messages secondary nav for tracking state (#21965) * UX: First pass at edit categories navigation modal for sidebar (#21963) * Revert "DEV: Convert modal wrapper from named outlet to component (#21932)" (#21964) * UX: fix number cutoff in header chat indicator (#21946) * DEV: Remove superfluous `js: true` metadata (#21960) * FEATURE: Use new hashtag autocomplete system on all sites (#21788) * FIX: Use a default hashtag icon color for user with no permission (#21825) * FEATURE: new dismiss button for combined new and unread view (#21817) * FIX: toggle topic pinning for user only if thumbtack icon is pressed. (#21917) * PERF: Avoid rendering a component that isn't required most of the time (#21942) * DEV: Refactor `GroupNotificationsButton` into `userPrivateMessages.group` route (#21930) * UX: Improve /print rate limit description (#21959) * UX: Remove title and description block if blank (#21861) * FIX: restore sidebar footer background (#21956) * FIX: attempts to exit lock-on early (#21949) * Update translations (#21951) * Update translations (#21950) * UX: remove sidebar background color (#21775) * DEV: Use await when sending chat messages (#21915) * UX: fix greyed out add button in chat composer when focussed (#21947) * DEV: Convert modal wrapper from named outlet to component (#21932) * DEV: Fix system test assertion to avoid stale element reference error (#21944) * DEV: Skip flaky network disconnected test (#21945) * FEATURE: allow S3 ACLs to be disabled (#21769) * FIX: Hide delete button to invite as user are unable to delete anyway (#21884) * UX: Correct educate message when there are no new topics (#21943) * DEV: Skip flaky system test (#21941) * DEV: Add zoom plugin to official list of plugins (#21940) * Build(deps): Bump webpack from 5.85.0 to 5.85.1 in /app/assets/javascripts (#21939) * Build(deps): Bump html-entities from 2.3.3 to 2.3.4 in /app/assets/javascripts (#21938) * Build(deps): Bump version_gem from 1.1.2 to 1.1.3 (#21937) * Build(deps): Bump tilt from 2.1.0 to 2.2.0 (#21936) * UX: adjust frequent poster size in topic map (#21933) * DEV: `PostRevisor` helper methods to track topic title and raw revisions (#21918) * DEV: Fix a sass warning (#21931) * FEATURE: Offline indicator (#21369) * FEATURE: Add API Scope for latest posts (#21913) * PERF: Preload user information when visiting user messages routes (#21929) * DEV: Unskip supposedly flaky test (#21922) * FIX: simplify review community section link (#21907) * PERF: Client side triggering multiple requests when opening composer (#21925) * DEV: Amend suggested topics when user has experimental new new view (#21879) * DEV: Eliminate flakiness in specs that depend on plugins from fixtures (#21912) * Build(deps): Bump i18n from 1.13.0 to 1.14.1 (#21919) * Build(deps): Bump rubocop from 1.51.0 to 1.52.0 (#21920) * Build(deps-dev): Bump eslint from 8.41.0 to 8.42.0 in /app/assets/javascripts (#21921) * DEV: Use runtime info to split test files for parallel testing (#21896) * FIX: Prevent undefined on isSafari capabilities test (#21914) * Build(deps): Bump @ember/render-modifiers in /app/assets/javascripts (#21902) * Build(deps): Bump faraday-retry from 2.1.0 to 2.2.0 (#21901) * Build(deps-dev): Bump terser in /app/assets/javascripts (#21900) * Build(deps): Bump rouge from 4.1.1 to 4.1.2 (#21898) * Build(deps): Bump rubocop-ast from 1.28.1 to 1.29.0 (#21897) * FIX: Ensure mention autocomplete box doesn't go off-screen in RTL locales (#21905) * FIX: correctly set last message bus ids on resync (#21911) * FEATURE: API Scope for latest.rss feed (#21906) * FIX: delete synonym tags if other synonyms are already exist. (#21885) * UX: chat channel header icons (#21887) * FIX: change Community icons (#21904) * DEV: Partially revert d1924c7328b6823167f2d713030b98d0176f20cf (#21895) * DEV: Ensure `maxminddb:fetch` works as standalone task (#21893) * UX: Add show more btn to reviewable item (#21579) * FIX: use fixed dimensions for user card avatar (#21892) * FIX: correctly resubscribe after restart (#21891) * UX: adjust various avatars due to size changes (#21890) * DEV: Update checks in chat channel and thread page objects (#21889) * Revert "DEV: Improve performance of system tests by disabling GPU in chrome (#21882)" (#21888) * DEV: Plugin outlets / extension points in search-menu (#21642) * FIX: Do not add mentioned groups as mentioned users (#21867) * DEV: Update mini_racer (#21865) * DEV: ensures __optInput is initialized (#21886) * DEV: Make chatMessage.cook function async (#21829) * DEV: Improve performance of system tests by disabling GPU in chrome (#21882) * Revert "DEV: Update checks in chat channel and thread page objects (#21875)" (#21883) * DEV: Fix flaky test (#21880) * Add a test (#21866) * DEV: Update checks in chat channel and thread page objects (#21875) * FIX: prevents admins to be silenced (#21854) * FEATURE: Allow expanding hidden posts for groups in SiteSetting.can_see_hidden_post (#21853) * DEV: Use `has_no_css?` instead of `!has_css?` (#21874) * DEV: Increase number of parallel process for system test to 5 on CI (#21878) * UX: style adjustments for sidebar edit modal (#21869) * Build(deps): Bump webpack from 5.84.1 to 5.85.0 in /app/assets/javascripts (#21871) * FEATURE: Serve RTL versions of admin and plugins CSS bundles for RTL locales (#21876) * DEV: Fix linting (#21877) * FEATURE: reduce avatar sizes to 6 from 20 (#21319) * Build(deps): Bump rtlcss from 0.2.0 to 0.2.1 (#21870) * FIX: Elements floating away on overscroll in Safari (#21868) * DEV: Allow color scheme loading to be used async (#21836) * Build(deps-dev): Bump rspec-rails from 6.0.2 to 6.0.3 (#21862) * Build(deps): Bump puma from 6.2.2 to 6.3.0 (#21863) * UX: followups to #1f37fe5 (#21859) * UX: Tweak user deleted posts items (#21856) * FEATURE: display PM participant group names in the topics list. (#21677) * Revert "PERF: Client side triggering multiple requests when opening composer (#21823)" (#21858) * UX: chat composer buttons refactor + emoji (#21852) * DEV: ensures thread list has finished loading (#21855) * DEV: Call `MessageBus.stop()` after each system test (#21848) * PERF: Client side triggering multiple requests when opening composer (#21823) * DEV: Make multisite freedom patch compatible with Rails 7.1+ * DEV: Remove deprecated posts/:username/flagged (#21846) * Build(deps): Bump image_size from 3.2.0 to 3.3.0 (#21845) * FIX: uses DiscourseURL.routeTo for drawer transitions (#21850) * DEV: introduces Chat::Thread::ListItem in styleguide (#21851) * Update translations (#21828) * Update translations (#21827) * FIX: applies getURL on both app and chat URLs (#21847) * DEV: Avoid waiting full capybara default wait time (#21842) * FIX: correctly uses getURL to open full page (#21843) * FIX: Remove unneeded RTL-specific CSS rules * FIX: removes destroyed mentioned used (#21841) * DEV: Disable splash screen in system tests (#21840) * FIX: recover by showing drawer index on 404 (#21839) * DEV: Added modifier hooks to allow plugins to tweak how categories and groups are fetched (#21837) * FIX: `u/:username/deleted-posts` route regression (#21834) * UX: Fix post history raw view (#21830) * DEV: Skip flaky form template spec (#21838) * DEV: Remove skipped form template system spec (#21832) * DEV: Rescue the timeout error for a better spec cleanup (#21826) * FIX: call composer reset with correct params (#21777) * DEV: Remove setting explicit `id` on Fabricated property (#21831) * UX: deletes a message when editing to blank (#21785) * FIX: Show Privacy Policy or ToS when they exist (#21771) * DEV: fix and enable flaky specs (#21753) * DEV: Temporarily skip system test that fails with animations disabled (#21824) * FEATURE: Chat thread header indicator improvements (#21807) * Build(deps-dev): Bump @babel/standalone in /app/assets/javascripts (#21816) * DEV: Use `--profile` when running system tests in CI * DEV: Add `--profile=[COUNT]` option for `turbo_rspec` * DEV: Disable animation in system tests (#21821) * DEV: Speed chat channel system test (#21820) * DEV: Remove unnecessary wait for chat transcript system test (#21819) * DEV: Show form templates in the composer (#21190) * DEV: faster browse page spec (#21814) * FIX: Page size edge case for null last_read_message_id (#21811) * DEV: adds sendChatMessage client API (#21783) * DEV: Fix and improve chat system test for editing name and slug (#21810) * FIX: Create original message user thread membership (#21808) * FIX: auto fill was not happening on first load (#21809) * Build(deps): Bump @popperjs/core in /app/assets/javascripts (#21797) * Build(deps-dev): Bump @babel/standalone in /app/assets/javascripts (#21796) * Build(deps-dev): Bump @babel/core in /app/assets/javascripts (#21794) * Build(deps): Bump jsdom from 22.0.0 to 22.1.0 in /app/assets/javascripts (#21793) * DEV: uses select-kit component for interface spec (#21790) * DEV: Improve CSS watcher perf (#21784) * UX: add support for flagged chat message in reviewqueue (#21802) * FIX: ensures chat-thread is not overflowing (#21782) * DEV: Remove old ChatController routes for messages & lookup (#21723) * FEATURE: Improving thread list item and header (#21749) * DEV: Skip flaky system tests on CI (#undefined) * DEV: Speed up slow system tests (#21803) * FEATURE: modal for admins to edit Community section (#21668) * DEV: Fix flaky user preferences interface system test (#21800) * DEV: Correct Capybara default max wait time setting in CI (#21801) * Build(deps): Bump exifr from 1.3.10 to 1.4.0 (#21795) * Build(deps): Bump google-protobuf from 3.23.1 to 3.23.2 (#21791) * Build(deps): Bump mini_racer from 0.6.3 to 0.6.4 (#21798) * DEV: ensures chat browse spec is waiting for search (#21789) * DEV: fix tag synonyms flakey specs (#21787) * DEV: prevents flakey in autocomplete hashtag (#21786) * DEV: allows to open chrome tools by default (#21778) * DEV: more reliable toggle_setting spec helper (#21779) * DEV: ensures preview button is enabled (#21780) * DEV: ensures save button is visible and enabled (#21781) * FIX: Move thread storage out of chatApi.thread() call (#21773) * UX: closes drawer on esc if input is not focused (#21772) * PERF: sends publish_new_channel only when not followed (#21755) * PERF: creating a post would cause an N+1 (#21768) * DEV: Clean up template-lint disable/enable lines (#21770) * FIX: N+1 query for chat message serializer on mentions (#21767) * FIX: Hashtag CSS class color specificity (#21766) * DEV: Add explicit order for chat mentioned users (#21765) * DEV: Run tests with new chrome headless (#21684) * FIX: do not attempt to mark as read a staged message (#21764) * DEV: Support custom icon when adding custom link to sidebar via plugin API (#21760) * FIX: Chat deleted last read message and tracking state issues (#21762) * DEV: waits for transition in move message spec (#21763) * UI: minor spacing adjustment in message details (#21761) * UX: Drop display of `short_site_description` site settings in sidebar (#21759) * Build(deps): Bump sidekiq from 6.5.8 to 6.5.9 (#21757) * Build(deps): Bump webpack from 5.84.0 to 5.84.1 in /app/assets/javascripts (#21758) * DEV: Allow plugins to hook into user preferences update process on the server (#21737) * UX: long unsetyled category names need truncation (#21756) * UX: minor active state fix for sidebar (#21754) * FEATURE: support for chronologically merging posts into existing topic (#21374) * FIX: Include more_topic_url in the response to /categories_and_{latest, top} (#21738) * DEV: add sidebar list-item-name & move attributes (#21730) * UX: more style adjustments for larger sidebar font (#21751) * DEV: Make `attachWidgetAction` fail gracefully when widget is missing (#21750) * DEV: Move distance_of_time_in_words/time_ago_in_words (#21745) * DEV: Avoid double deprecation warnings in dev (#21747) * DEV: Move modal hide/show logic into a service (#21748) * DEV: Replace `HideModalTrigger` with JS logic (#21746) * DEV: extract more logic into ParsedMentions class (#21729) * FIX: Serialize thread membership for user (#21743) * DEV: Add policy objects to services * DEV: Remove `renderTemplate` from the styleguide (#21660) * FEATURE: Initial chat thread unread indicators (#21694) * FEATURE: Apply hashtag styles to autocomplete (#21731) * FIX: prevents saving draft in incorrect channel (#21741) * FIX: correctly nullifies active message (#21739) * DEV: Deprecate the `modify_user_params` method in `UsersController` (#21740) * DEV: Minor improvements to SidebarSectionsController spec (#21734) * DEV: Bump CAPYBARA_DEFAULT_MAX_WAIT_TIME to 10 seconds on CI (#21711) * PERF: Strict loading for SidebarSection queries (#21717) * DEV: Avoid leaking new site setting states in test environment (#21713) * Build(deps): Bump webpack from 5.83.1 to 5.84.0 in /app/assets/javascripts (#21732) * Build(deps): Bump nokogiri from 1.15.1 to 1.15.2 (#21733) * FEATURE: Create legal topics for set company name (#21620) * FEATURE: Add support for AVIF images (#21680) * DEV: implements initial messages component (#21727) * FIX: flakey spec in sidebar with new font size (#21728) * UX: increase sidebar font-size (#21704) * DEV: temporarily skip tests tha fails on the build machine (#21725) * FIX: Don’t run validations when invalidating invites * FIX: improves draft for channels (#21724) * FEATURE: Add user status to inline mentions in chat (#20564) * FIX: Do not preview chat channels to read-only users (#21700) * DEV: Fix flaky `Group` specs (#21722) * FIX: skip iframe URLs with relative paths in pretty text sanitizer. (#21714) * UX: Add show password on mobile login modal (#21003) * FIX: Do not error if admin/owner checks target message (#21721) * DEV: Reinstate Chat::MessageCreator skipped thread specs (#21718) * FIX: Improve chat membership update on deleted message (#21716) * FEATURE: allow searching for oldest topics (#21715) * DEV: Bump the limits on group request text fields * Build(deps): Bump faraday from 2.7.4 to 2.7.5 (#21707) * Build(deps): Bump fastimage from 2.2.6 to 2.2.7 (#21708) * Build(deps-dev): Bump terser from 5.17.5 to 5.17.6 in /app/assets/javascripts (#21709) * Build(deps): Bump socket.io-parser from 4.2.1 to 4.2.3 in /app/assets/javascripts (#21710) * DEV: Update I18n to 1.13.0 (#21685) * UX: improve edit history display (#21474) * DEV: Add experimental plugin API to replace tag icon in sidebar (#21675) * FIX: allow published pages to be added to sidebar (#21687) * UX: iPad footer nav now included in header offset (#21699) * FIX: Removing arbitrary limit in a Discuz importer script query (#21686) * DEV: attempts to increase wait for a flakey spec (#21705) * Update translations (#21703) * Update translations (#21702) * FIX: ensure sidepanel size is correctly applied when showing (#21701) * FIX: Update client lastReadMessageId on trashed message (#21697) * FIX: keeps panel size when changing content (#21698) * DEV: removes very frequent flakey spec (#21696) * DEV: attempts to make deleted spec not flakey (#21695) * FIX: Video thumbnails can have duplicates (#21681) * FIX: cancel fetching messages after channel change (#21689) * DEV: Fix chat pagination spec (#21693) * FIX: Page size check for thread messages (#21692) * DEV: Bump thread page size to 100 (#21691) * DEV: regroups composer button code (#21690) * FIX: consider users.created_at for inactive cleanup (#21688) * DEV: Delete old personal message settings (#21381) * FIX: Do not cook icon with hashtags (#21676) * UX: improve tags spacing (#21585) * DEV: specs to ensure that only admin can edit Community section (#21666) * Build(deps-dev): Bump @babel/standalone from 7.21.8 to 7.21.9 in /app/assets/javascripts (#21683) * Build(deps-dev): Bump terser from 5.17.4 to 5.17.5 in /app/assets/javascripts (#21682) * DEV: edited links are set in specific order (#21665) * DEV: endpoint to reset community community-section (#21664) * Button research (#21621) * FIX: allow admin to change topic notification level via API (#21581) * FIX: consider users with trashed topics/posts for inactive cleanup (#21678) * FIX: correct replying indicator padding (#21679) * UI: chat composer step 2 (#21641) * DEV: Chat API channel#show changes for threading (#21632) * FIX: Anonymizing a user clears their user status too (#21673) * DEV: Marking `registerCustomCategorySectionLinkLockIcon` as experimental (#21674) * DEV: Add experimental registerCustomCategorySectionLinkPrefix api (#21656) * DEV: Remove `prefixElementColors` args for section link component (#21653) * Build(deps-dev): Bump eslint from 8.40.0 to 8.41.0 in /app/assets/javascripts (#21672) * Build(deps): Bump msgpack from 1.7.0 to 1.7.1 (#21670) * Build(deps): Bump connection_pool from 2.4.0 to 2.4.1 (#21669) * Build(deps): Bump nokogiri from 1.15.0 to 1.15.1 (#21671) * DEV: `.quick-access-profile` no longer exists (#21663) * DEV: Fix plugin:spec task return code (#21661) * FIX: Fix for Default to subcategory when parent category does not allow posting (#21537) * DEV: Resolve a sinon/webpack warning (#21659) * DEV: Add a per-spec timeout (#21648) * DEV: Remove vendored copy of messageformat (#21658) * UX: add indicator for msg from currentUser (#21657) * DEV: Use `templateName` instead of `renderTemplate()` (#21517) * FIX: improve mailman email parsing (#21627) * Build(deps-dev): Bump sinon in /app/assets/javascripts (#21649) * Build(deps-dev): Bump @embroider/test-setup in /app/assets/javascripts (#21650) * FIX: Clicking on edited notification should open edit history modal (#21631) * DEV: Add `registerCustomCategorySectionLinkLockIcon` plugin API (#21655) * UX: Add custom section button should not be shown to anon users (#21651) * DEV: Add hidden site setting to control search page size (#21640) * DEV: add plugin outlet to share sources (#21646) * UX: tweak on logo size to make sure it's not too small on small screen (#21644) * UX: Remove welcome topic admin tip and tweak copy (#21593) * DEV: Fix random typos (#21638) * DEV: Re-add above-static and below-static outlets (#21635) * UX: General chat composer tweaks (#21639) * FIX: adds missing margin on desktop draft message (#21637) * FIX: ensures message has been added before scroll (#21636) * UX: minor fix with new composer and reply/edit (#21634) * FIX: Update category tag stats with new or deleted (#21531) * Build(deps-dev): Bump @embroider/test-setup in /app/assets/javascripts (#21626) * Build(deps): Bump mini_scheduler from 0.15.0 to 0.16.0 (#21624) * FIX: Show gif upload size limit error straight away (#21633) * DEV: Avoid infinite calling of computeDatesSeparators() (#21616) * Build(deps): Bump webpack in /app/assets/javascripts (#21625) * DEV: Improve manual color scheme toggle in styleguide (#21629) * FIX: Prevent Email Processor errors when mail is blank or nil (#21292) * UX: Improve display of short site description in header dropdown (#21628) * Build(deps): Bump rqrcode from 2.1.2 to 2.2.0 (#21622) * Build(deps): Bump google-protobuf from 3.23.0 to 3.23.1 (#21623) * UX: include custom headers in `--header-offset` (#21059) * DEV: Option to always hide warning in the coposer (#21618) * FIX: various fixes to chat styleguide (#21617) * UX: Show fast edit at top of window on mobile (#21590) * DEV: Remove legacy user menu (#21308) * FIX: more resilient bottom of message check (#21613) * FIX: ensures replying indicator has limited height (#21614) * DEV: various improvements to devex on chat (#21612) * UX: add more mass to thread icon (#21611) * DEV: add `--seed` to turbo_rspec, tweak CI output (#21598) * FIX: ensures chat composer docks to topic composer (#21610) * FIX: Remove obsolete references to lounge category (#21608) * Build(deps): Bump @ember/string in /app/assets/javascripts (#21601) * Build(deps-dev): Bump terser in /app/assets/javascripts (#21600) * FIX: Remove obsolete references to lounge category (#21607) * DEV: Update call sites using BaseStore#download but expecting exceptions (#21551) * DEV: Avoid multiple fabrications in spec (#21606) * UX: Sections not collapsable in "header dropdown" navigation menu (#21604) * FIX: Searching for svg sprite icons connecting to default database (#21605) * UX: chat composer styling on focus (#21603) * FIX: Clear topic list cache after archiving a PM (#21602) * Build(deps): Bump rubocop-factory_bot from 2.23.0 to 2.23.1 (#21599) * FIX: compensate for lack of replying indicator on draft (#21597) * FIX: Sync channel tracking state properly on presence change (#21596) * UI: removes thread margins (#21595) * DEV: prevents `rake emoji:update` to run on prod (#21594) * DEV: Use composerEventPrefix in the composer editor (#21480) * FIX: followups to composer notch adjustments (#21592) * DEV: Add support for array params in topic-list finder (#21578) * Update translations (#21584) * Update translations (#21583) * DEV: Use `@cached` decorator for `sidebar/user/sections.js` (#21556) * DEV: Don't pass in extra, ignored parameters when rendering sass (#21591) * FIX: allows notch to have composer bg color (#21589) * UX: implements new composer design (#21588) * DEV: Fix preview sanitization test (#21521) * FIX: show scrollbars under firefox in chat (#21587) * A11Y: Improve select-kit accessibility (take 2) (#21530) * FIX: Don't show duplicates in styleguide (#21582) * DEV: Rearchitect chat tracking state (#21550) * FIX: Drawer styles for chat thread icon (#21577) * DEV: Clean up store-test (#21576) * FIX: Add new chat threads icon and move thread list button to right (#21575) * Build(deps): Bump nokogiri from 1.14.4 to 1.15.0 (#21567) * Build(deps): Bump @ember/string in /app/assets/javascripts (#21569) * FEATURE: Fuzzy search in site settings and raise limit to 100 matches (#21572) * DEV: Use components to manage custom sidebar sections lifecycle (#21574) * Build(deps): Bump loofah from 2.21.2 to 2.21.3 (#21566) * Build(deps): Bump rubocop-factory_bot from 2.22.0 to 2.23.0 (#21568) * Build(deps): Bump rouge from 4.1.0 to 4.1.1 (#21570) * FIX: Ensure modal alert is hidden when empty (#21565) * FIX: Hide d-modal during page load (#21563) * FIX: Miscellaneous tagging errors (#21490) * FIX: chat height fixes (#21561) * DEV: Control modal 'hidden' with Ember (#21562) * FEATURE: Show user cards for inactive users (#21387) * DEV: Use `@cached` decorator in `user-menu/menu` (#21558) * COPY: Remove "powered by discourse.org" from welcome topic (#21532) * FIX: hides global notice on chat (#21557) * Fix tests * Fix Twitch onebox multisite issue * UX: better copy for generic error msg (#21554) * FIX: moves chat height computation to a mixin (#21555) * DEV: Document `showModal`, allow setting more config via DModalBody * DEV: Replace modal 'maxHeight' calculation with css * DEV: Refactor modal 'flash' to avoid direct DOM manipulation * DEV: Convert d-modal and d-modal-body to glimmer components * DEV: Convert d-modal and d-modal-body to native class syntax * FIX: various fixes following channel height changes (#21553) * FIX: limits max height to viewport on channel only (#21539) * FIX: Handle all UTF-8 characters (#21344) * DEV: Minor typo fix - "backround" in server.en.yml (#21535) * UX: update copy of badges granted to others (#21548) * DEV: Set limit for Invite#custom_message * DEV: Set limits for text fields on BadgeGrouping * FIX: Sidebar custom sections rendering perf degrades over time (#21552) * Revert "DEV: attempts to fix flakey spec (#21547)" (#21549) * UX: opens side panel early to avoid jitter (#21516) * UX: hide settings btn when disabled * DEV: attempts to fix flakey spec (#21547) * DEV: Skip flaky tests (#21534) * DEV: Set a limit for ApiKey#description (#21502) * FIX: addNavigationBarItem api example (#21510) * FIX: composer should be sending metaData (#21546) * DEV: Remove flaky test from TopcisFilter (#21543) * Build(deps-dev): Bump parallel_tests from 4.2.0 to 4.2.1 (#21540) * Build(deps-dev): Bump capybara from 3.39.0 to 3.39.1 (#21541) * Build(deps): Bump rubocop from 1.50.2 to 1.51.0 (#21542) * FIX: do not set VH while zooming (#21538) * FIX: always listen on window resize (#21536) * DEV: Enable color CI output and tweak formatting (#21527) * FIX: Refresh site when enable_user_tips changes (#21489) * Build(deps): Bump thor from 1.2.1 to 1.2.2 (#21520) * UX: Various improvements to welcome topic CTA (#21010) * FIX: ensures `all_mentioned_user_ids` is not used as identifier (#21491) * FIX: Thread reply indicator overflow (#21529) * DEV: Clean up workflow files (#21526) * DEV: Minor copyedit in ADMIN-QUICK-START-GUIDE.md (#21528) * FIX: Incorrect `PLUGIN_NAME` for "poll" (#21525) * Build(deps): Bump loofah from 2.21.1 to 2.21.2 (#21519) * Build(deps): Bump nokogiri from 1.14.3 to 1.14.4 (#21518) * DEV: Restore the documentation format in system tests (#21471) * FIX: Avoid double-encoding featured topic title in user profile (#21507) * DEV: Strictly filter tag search limit parameter input (#21524) * DEV: Gracefully handle user avatar download SSRF errors (#21523) * DEV: Add both safe and unsafe Discourse.store.download methods (stable) (#21499) * DEV: fix flakey spec (#21515) * FIX: prevents subscribing with an old id (#21509) * DEV: Revert buildjet (#21475) * DEV: Stub stderr instead of manual change (#21511) * FIX: close panel earlier (#21512) * FIX: Allow integer group_ids for create invite api (#21494) * DEV: Rework `static` controllers/routes (#19466) * DEV: When deleting a chat message, do not delete mention records (#21486) * FIX: messages selection with shift + click (#21506) * DEV: Create a chat_mention record when self mentioning (#21438) * Build(deps): Bump webpack in /app/assets/javascripts (#21496) * FIX: keyboard on android (#21505) * FEATURE: Create and update thread memberships (#21501) * DEV: Add both safe and unsafe Discourse.store.download methods (#21498) * Build(deps): Bump loofah from 2.20.0 to 2.21.1 (#21495) * FIX: rely only on one keyboard computation solution (#21492) * FEATURE: chat-replying indicator for threads (#21485) * DEV: fix flakey spec in handle_category_udpated (#21488) * simplify email_in description (#21476) * FEATURE: Default to subcategory when parent category does not allow posting (#21228) * FIX: Chat NotificationLevels extension breaking in prod (#21484) * DEV: Fix double Chat:: module usage in chat models (#21483) * DEV: Fix thread excerpt word break (#21482) * DEV: Create UserChatThreadMembership table and model (#21481) * DEV: Add configurable? helper to Plugin::Instance (#21472) * FIX: excerpt overflow and children click events (#21473) * Build(deps-dev): Bump terser in /app/assets/javascripts (#21463) * FIX: Handle deleted original message for thread index (#21470) * FIX: Don't autojoin users when they have ready-only permissions (#20213) * Revert "A11Y: Improve select-kit accessibility (#21400)" (#21468) * Revert "DEV: Add configurable? helper to Plugin::Instance (#20767)" (#21469) * DEV: Add configurable? helper to Plugin::Instance (#20767) * FEATURE: Thread list initial UI (#21412) * DEV: more resilient scroll to bottom spec (#21467) * DEV: Reduce plugin system test parallel processors (#21466) * FIX: show 404 on new category page for moderators when Site Setting disabled (#21448) * FIX: fallback to composer for non ascii characters (#21465) * DEV: Use BuildJet for some test jobs (#21404) * FIX: do not allow title stuffing to dominate search (#21464) * Update translations (#21456) * Update translations (#21455) * DEV: more resilient upload spec (#21462) * FIX: prevents fast channel switching to cause an error (#21461) * DEV: add optional `displayName` parameter for `discourse-tag` (#21391) * FIX: minor thread changes on mobile (#21457) * FIX: Create invite api docs (#21460) * DEV: Remove noisy SiteSetting deprecations (#21459) * FIX: Likes received count in digest email (#21458) * FIX: Service worker for Safari (#21435) * A11Y: Improve select-kit accessibility (#21400) * Revert "FIX: fast-edit should fall back to composer for non-ascii characters (#21453)" (#21454) * FIX: more precise chat-replying-indicator (#21451) * FIX: fast-edit should fall back to composer for non-ascii characters (#21453) * FIX: ensures `all_mentioned_user_ids` is not used as identifier (#21452) * FIX: Change the limit on badges description * Build(deps-dev): Bump terser in /app/assets/javascripts (#21444) * DEV: Replace Ember implicit injections with base class extensions (#21417) * FIX: no event when threading is disabled (#21439) * DEV/ glimmerify chat-channel-status (#21445) * FIX: makes mouse events passive (#21441) * FIX: Ensure order when moving chat messages to another channel (#21447) * DEV: Fix `category:` filter only supported alphabets and numbers (#21427) * Build(deps): Bump google-protobuf from 3.22.3 to 3.23.0 (#21443) * DEV: `tag:` filter on `/filter` only supported alphabets and numbers (#21405) * UI: thread panel sizing/spacing on mobile (#21440) * DEV: Add plugin outlet to `<NavigationBar/>` component (#21437) * DEV: more resilient spec (#21436) * UX: loading slider for select-kit filter (#21401) * Build(deps-dev): Bump ember-auto-import-chunks-json-generator (#21420) * FEATURE: Enable user tips by default (#21341) * DEV: group mentions related specs into context (#21434) * DEV: converts models to native classes (#21418) * Build(deps): Bump jsdom from 21.1.1 to 22.0.0 in /app/assets/javascripts (#21350) * Build(deps-dev): Bump eslint in /app/assets/javascripts (#21419) * DEV: Correct the app-events service injections (#21413) * Build(deps-dev): Bump rspec-rails from 6.0.1 to 6.0.2 (#21395) * FIX: correct link on original message (#21415) * FIX: attempts to reconciliate tracking state (#21416) * DEV: Support excluding categories with the `category:` filter (#21432) * FIX: jumpy more sidebar section (#21430) * FIX: Update test limit for email domain (#21429) * FIX: flaky sidebar-user-community-section-test (#21398) * PERF: Avoid triggering TopicTrackingState change callbacks unnecessarily (#21425) * DEV: In test, if flush is called and there is no thread, flush inline (#21426) * FEATURE: allow for longer membership domains (#21428) * Build(deps): Bump rubocop-rspec from 2.20.0 to 2.22.0 (#21423) * DEV: stop leaking data into tables during test (#21403) * FIX: Resolve timezone issues with date-time-input (#21414) * FIX: Service worker should cache only 200 requests (#21409) * UX: groups deleted messages (#21411) * FIX: Incorrect unread count shown in channel when message deleted (#21410) * DEV: re-enable skipped modifyClass test * Build(deps): Bump ember-source in /app/assets/javascripts * DEV: Create and update chat message mentions earlier (#21388) * UX: scroll to bottom when message is staged (#21408) * Revert "UX: preloads a thread when hovering thread indicator (#21406)" (#21407) * UX: preloads a thread when hovering thread indicator (#21406) * UX: implements draft threads (#21361) * DEV: Reset capybara sessions and default driver after each test (#21402) * DEV: Speed up chat plugin system tests (#21399) * DEV: Speed up core system tests (#21394) * DEV: add class names to group directory table (#21393) * Revert "DEV: Replace Ember implicit injections with base class extensions (#21258)" (#21397) * SECURITY: Do not overwrite permissions on the General category (#21389) * SECURITY: Do not overwrite permissions on the General category (#21390) * DEV: Allow site setting errors to be displayed as html if they are safe (#21342) * DEV: add panel-body-bottom outlet to user menu (#21386) * FIX: Thread mention read state and notification links (#21385) * DEV: extract emulateAutocomplete test helper (#21363) * DEV: Fix test (#21283) * Revert "A11Y: select kit close on focus out (#21274)" (#21383) * DEV: drop a deprecated function (#21364) * FIX: Remove double escaped Vimeo titles (#21368) * FIX: Ensure expand table works regardless of click event target (#21373) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#21351) * Build(deps): Bump @babel/core in /app/assets/javascripts (#21349) * FIX: Do not log 'personal message view' when sending webhook (#21375) * Build(deps): Bump webpack in /app/assets/javascripts (#21376) * DEV: Fix tags filter with more than 2 tag names in value not working (#21380) * UX: Use fixed colors for admin stacked chart reports (#21371) * DEV: Run turbo rspecs with verbose output on CI (#21379) * FIX: Allow re-flagging of ninja-edited posts (#21360) * DEV: move sidebar community section to database (#21166) * DEV: Disable SearchIndexer after fabrication (#21378) * DEV: Fix system test failure when ran in parallel (#21377) * UX: in sidebar dropdown mode expose 'more' items (#21372) * FIX: Blank user messages inbox dropdown on subfolder setup. (#21356) * FIX: more resilient dates separators computation (#21370) * UX: fix color scheme setting reset position (#21365) * FIX: ensure user admin button is present on mobile (#21366) * FEATURE: Add new notification for admin problems (#21287) * FIX: email receiver should ignore x-auto-response-suppress * DEV: Replace Ember implicit injections with base class extensions (#21258) * DEV: Prevent clearing plugin modifiers during plugin spec runs (#21359) * DEV: after has been proven problematic in other tests (#21358) * DEV: Move app build-time dependencies to devDependencies (#21310) * DEV: Set limits for text fields in reviewables * DEV: Support both `tag:` as an alias for `tags:` filter for `/filter` (#21353) * DEV: Unhide `experimental_topics_filter` site settings (#21354) * DEV: Fix `order:` filter not working on `/filter` route (#21330) * DEV: Support comma seperated value in order filter for `/filter` route (#21318) * DEV: Change `created-by` topics query filter to `created-by:@<username>` (#21317) * FIX: Add thumbnails for Vimeo unlisted lazy videos (#21343) * UX: fix color preference layout (#21346) * Build(deps): Bump rubocop-ast from 1.28.0 to 1.28.1 (#21347) * FIX: ensures page height is correct on ipad + hub (#21345) * DEV: remove old and experimental user menu styles (#21326) * A11Y: select kit close on focus out (#21274) * FIX: ChatComposerMessageDetails icon was always edit (#21340) * DEV: Increase docker.rake system test timeout time to match CI (#21339) * FIX: disables send btn while uploads in progress (#21298) * Update translations (#21335) * Update translations (#21334) * DEV: Use `--frozen-lockfile` in GitHub CI (#21338) * DEV: Update yarn.lock (#21337) * DEV: Bump eslint-config version (#21325) * DEV: Do not include silenced Discourse deprecations in counter (#21336) * DEV: Co-locate select-kit component templates (#20779) * UX: resets active message when scrolling (#21305) * FIX: correctly use types for reviewables type (#21333) * FIX: Quoted images should be lightboxed (#21332) * FIX: Disallow invisible Unicode characters in usernames (#21331) * FEATURE: search_rank_sort_priorities modifier (#21329) * FIX: rename notify_about_flags_after to notify_about_reviewable_item_after (#21320) * REVERT: "FEATURE: Offline indicator controlled by message-bus connectivity (#21324)" (#21327) * DEV: Add 20m timeout to system tests (#21323) * DEV: Do not rerender widgets on mouseup/mousedown (#21300) * FEATURE: Offline indicator controlled by message-bus connectivity (#21324) * DEV: Fire appEvents for user menu events (opening/clicking) (#21322) * UX: two column dropdown sidebar layout (#21288) * Build(deps): Bump mini_portile2 from 2.8.1 to 2.8.2 (#21312) * Build(deps-dev): Bump better_errors from 2.9.1 to 2.10.0 (#21315) * Build(deps): Bump zeitwerk from 2.6.7 to 2.6.8 (#21314) * DEV: Use `\A` and `\z` instead of `^` and `$` in `TopicsFilter` (#21316) * DEV: potential flakey fixes (#21309) * DEV: Check if video thumbnails site setting is enabled (#21306) * DEV: potential flakey specs fixes (#21307) * FIX: Empty video thumbnails (#21290) * UX: cook message before sending edit (#21303) * DEV: Wrap remote theme update in transaction (#21302) * FIX: correctly differentiates channel/thread upload inputs (#21301) * DEV: Show select-kit deprecations in non-dev envs (#21297) * UX: Fix user onebox layout (#21284) * FIX: allows youtube embeds to respect the `t` param (#21295) * Revert "FEATURE: Reimplement offline indicator (#21285)" (#21296) * FEATURE: Reimplement offline indicator (#21285) * FIX: correctly homogenizes panels min width (#21294) * FIX: chat height was incorrect on ipad (#21289) * UX: composer use BEM + small tweaks to enabled/disabled styling (#21246) * UX: Add a warning that updating min_trust_level_for_user_api_key will disable users from using DiscourseHub (#21291) * Build(deps): Bump async from 2.6.3 to 2.6.4 (#21183) * Build(deps): Bump webpack in /app/assets/javascripts (#21272) * PERF: Remove unnecessary queries from Theme#set_field (#21281) * Revert "FEATURE: Service to track message bus connectivity + offline indicator(#21259)" (#21282) * FEATURE: Service to track message bus connectivity + offline indicator(#21259) * UX: Use dvh for sidebar height (#21278) * DEV: Set limits for text fields in badges * DEV: Add deprecation warning for user_badge_removed event (#21255) * DEV: extract updating status on mentions into a lib function (#21265) * DEV: set limits for text fields on groups * FEATURE: add support for figure and figcaption tags in embeddings (#21276) * Build(deps): Bump sass-embedded from 1.62.0 to 1.62.1 (#21270) * DEV: Support ordering filters on `/filter` route (#21275) * DEV: Support filtering by date columns on /filter route (#21233) * DEV: fix a spec and skips another one (#21277) * FIX: Include group flair in homepage category topic lists (#21268) * Build(deps): Bump sass from 1.62.0 to 1.62.1 in /app/assets/javascripts (#21273) * FIX: Ensure group-filtered group user event webhooks fire (#21254) * A11Y: Use correct structure for badge headings (#21267) * DEV: Create a site setting for video thumbnails (#21266) * DEV: Remove legacy resolver (#21263) * FIX: ensures thread is cleared when closing it (#21264) * FIX: cancels saving draft when composer is destroyed (#21260) * FIX: correct border color of message actions (#21261) * DEV: skips flakey spec (#21262) * FIX: Show large image placeholder for image onebox (#21237) * FIX: Improve chat route cleanup (#20557) * FIX: properly respects chat_minimum_message_length (#21256) * FIX: attempts to make cooking less order dependent (#21253) * UX: onebox/blockquote/chatreaction slight accent colour change (#21252) * DEV: Warn when trying to track user status for user models without ID (#21205) * DEV: Update references from `controller:composer` to `service:composer` * DEV: Convert composer controller to service * DEV: Move composer template and controller to component/service * DEV: Enable parallel system specs in GitHub actions CI (#21251) * Build(deps): Bump patch-package in /app/assets/javascripts (#21244) * DEV: Remove `RUBY_GLOBAL_METHOD_CACHE_SIZE` (#21249) * DEV: increase plugin system tests timeout (#21247) * FIX: generates markdown from pasting link (#21241) * FIX: require date db_timestamps_mover script (#21248) * UX: displays channel title in document title (#21242) * Build(deps): Bump rack from 2.2.6.4 to 2.2.7 (#21245) * UX: Fix space position in badge counts (#21240) * UX: minor installation success style adjustments (#21239) * Update translations (#21146) * Update translations (#21145) * FIX: Safely return from missing post on `check_dont_feed_the_trolls` (#21238) * UX: Include subcategories in crawler view (#21227) * DEV: return user IDs on the user search route (#21206) * DEV: Add error message styling (#21225) * FIX: safeguard in case the message is active during transition (#21235) * FIX: allows composer to expand (#21234) * Build(deps): Bump parser from 3.2.2.0 to 3.2.2.1 (#21230) * UX: improves composer and thread panel (#21210) * DEV: Only allow expanding hidden posts for author and staff (#21052) * Revert "Build(deps): Bump pg from 1.4.6 to 1.5.1 (#21231)" (#21232) * FIX: bbcode URLs not handling paths correctly (#21215) * FIX: Don't display destroy reviewable button on client (#21226) * Build(deps-dev): Bump rswag-specs from 2.8.0 to 2.9.0 (#21229) * Build(deps): Bump pg from 1.4.6 to 1.5.1 (#21231) * FEATURE: Add support for user badge revocation webhook events (#21204) * FIX: Show auto-group flair according to user preferences (#21221) * FIX: Blank video thumbnails (#21200) * FIX: Ensure skip-module JS is transpiled correctly (#21224) * FIX: Ensure reviewable counts are updated correctly for new user menu (#21222) * PERF: Don't serialize value for theme_fields unnecessarily (#21201) * FIX: Error when trying to bump a topic with no category (#21207) * DEV: Improve add_to_serializer include_* options (#21220) * DEV: Update plugin-api docs for new user menu (#20808) * Build(deps-dev): Bump selenium-webdriver from 4.8.6 to 4.9.0 (#21211) * Build(deps): Bump eslint in /app/assets/javascripts (#21213) * DEV: Extract build-quote tests (#21217) * Build(deps): Bump rubocop-capybara from 2.17.1 to 2.18.0 (#21212) * Revert "DEV: Improve `add_to_serializer` `include_*` options (#21073)" (#21219) * DEV: Improve `add_to_serializer` `include_*` options (#21073) * DEV: Added a missing parameter to Discourse API Docs (#21085) * FIX: Do not delete old chat messages if chat disabled (#21214) * Build(deps): Bump sinon from 15.0.3 to 15.0.4 in /app/assets/javascripts (#21195) * FIX: Include liked_consolidated and reaction types in the likes tab unread count (#21198) * FEATURE: Reintroduce better thread reply counter cache (#21197) * DEV: Move channel creation for category into service (#21167) * Build(deps): Bump rspec-expectations from 3.12.2 to 3.12.3 (#21193) * Build(deps-dev): Bump ruby-prof from 1.6.2 to 1.6.3 (#21194) * FIX: Do not overwrite existing thumbnails (#21199) * DEV: Patch Sprockets::DirectiveProcessor to avoid extra newline (#21203) * FIX: Better detect text selection in search input (#21202) * bootstrap mode change can take 24 hours (#21191) * DEV: Extract mentions.count method (#21116) * DEV: more tests for mentions when updating chat messages (#21185) * FIX: increase reorder sidebar delay for desktop (#21196) * DEV: Fix flaky emoji deny list system spec (#21180) * Revert "FEATURE: Better thread reply counter cache (#21108)" (#21192) * DEV: Correct ambiguous name (#21189) * DEV: Use guards to make `can_delete_reviewable` guardian more readable (#21188) * FIX: Don't render error for bad-sequence (#21187) * FIX: send notifications after a chat message was updated with new mentions (#21173) * FEATURE: Allow admins to delete reviewables via API (#21174) * UX: chat thread hover (#21181) * UX: better digest centering in event of truncation (#21176) * Revert "DEV: Merge package.json files (#21172)" (#21182) * DEV: Merge package.json files (#21172) * FEATURE: Add new don't feed the trolls feature (#21001) * FIX: Chat publisher publishing to thread when threading disabled (#21179) * FIX: Revert "DEV: Add `overflow-x: hidden` to chat message containers (#21030)" (#21178) * DEV: Reintroduce chat rake dev generate tasks (#21164) * FIX: Hashtag subcategory ref incorrect when not highest-ranked type (#21163) * FEATURE: Allow drafts to be deleted via the API (#21148) * DEV: Add class to composer-ope plugin outlet container (#21171) * FIX: Resetting user directory columns (#21162) * UX: fix time pickers input width on mobile (#21170) * UX: fix kbd tag text's color in the composer full screen prompt (#21169) * UX: improve layout and styles for solo preferences (#21094) * FEATURE: Detect current git "branch" even when a tag is checked out * REFACTOR: Simplify git command execution * UX: update ring animation to avoid scroll (#21150) * DEV: Update ember-cli to 4.12.0 (#21074) * Build(deps): Bump terser in /app/assets/javascripts (#21168) * Build(deps): Bump rspec-core from 3.12.1 to 3.12.2 (#21152) * Build(deps): Bump terser in /app/assets/javascripts (#21159) * Build(deps): Bump rubocop-rspec from 2.19.0 to 2.20.0 (#21153) * FIX: Quote button doesn't press on mobile (#21149) * UX: remove new message element from chatpane (#21143) * UX: slight design changes to chat timestamp (#21144) * Build(deps): Bump parallel from 1.22.1 to 1.23.0 (#21155) * Build(deps): Bump puma from 6.2.1 to 6.2.2 (#21154) * Build(deps-dev): Bump ruby-prof from 1.6.1 to 1.6.2 (#21151) * FIX: Chat composer shortcuts should respect context (#21130) * FIX: Do not count thread messages for channel unreads (#21126) * DEV: Add a test for the "duplicate link" message (#21139) * DEV: Remove `after-transition` function (#21142) * DEV: Replace virtual-dom fork with patch-package (#21007) * FIX: 500 error when adding restricted category tags (#21147) * FIX: nil exception in chat notifier (#21105) * DEV: Improve modifyClass warning message (#21140) * FIX: Add missing translations strings for lazy-videos (#21127) * UX: ensures cursor is pointer over custom sections (#21138) * Version bump to v3.0.3 (#21136) * Version bump to v3.1.0.beta4 (#21135) * Build(deps): Bump rubocop from 1.50.1 to 1.50.2 (#21122) * UX: improve contrast of overridden setting indicator dot (#21128) * SECURITY: Encode embed url (#21134) * SECURITY: Encode embed url (#21133) * FIX: apply clear-transition class to correct wrapper for chat drawer (#21129) * SECURITY: Ensure site setting being updated is a configurable site setting (#21132) * SECURITY: Ensure site setting being updated is a configurable site setting (#21131) * FEATURE: Better thread reply counter cache (#21108) * UX: prevent overflow in description (#21124) * FIX: improve performance of UserStat.ensure_consistency (#21044) (#21121) * FEATURE: Hook up chat bulk delete for threads (#21109) * FIX: Dismiss modal when "Keep Editing" is used (#21117) * DEV: Add an offset mobile devices (#21119) * FEATURE: add a setting to allowlist DiscourseConnect return path domains (#21110) * UX: Vertical alignment issues on mobile (#21118) * FIX: error when quoting message into topic (#21114) * FIX: Render links with subfolders properly in Discobot * DEV: Refactor STI/polymorphic associations in chat (#20789) * FIX: composer collapse position while uploading (#21101) * FIX: overflow of channel title in preview card (#21112) * DEV: Plugin API addQuickAccessProfileItem adds to revamped user menu (#21084) * FIX: ensures tag notification level is changed (#21106) * DEV: Remove hardcoded user_id in spec (#21111) * FIX: Do not serialize thread data if threading disabled (#21107) * FIX: prevents exception when publishing processed (#21104) * DEV: Remove unnecessary `getURL("/")` (#21103) * DEV: Set QUnit per-test timeout (#21102) * FIX: prevents exception if thread is not found (#21099) * Build(deps): Bump webpack in /app/assets/javascripts (#21089) * FIX: decrease reorder sidebar delay for desktop (#21098) * DEV: Add support for more filters for `/filter` route (#21097) * UX: Remove color attribute from `<kbd>` tag (#20429) * UX: Prevents letters from being partially cut off on the profile summary page (#20715) * UX: fix anchor z-index (#21002) * DEV: Clarify SSL option in INSTALL-cloud.md (#21018) * Build(deps): Bump google-protobuf from 3.22.2 to 3.22.3 (#21096) * DEV: Support `posters-(min|max):<count>` on `/filter` route (#21095) * DEV: skip flakey chatables controller spec (#21093) * DEV: Support `posts-min:<count>` and `posts-max:<count>` on `/filter` (#21090) * FIX: relies on native focus behavior in chat emoji picker (#21092) * FEATURE: Reacting to MessageBus in chat thread panel (#21070) * UX: Use dominant color while loading onebox images (#21091) * UX: various tweaks on thread (#21083) * FEATURE: Add an emoji deny list site setting (#20929) * DEV: Refactor `TopicsFilter` (#21071) * Build(deps): Bump sass-embedded from 1.61.0 to 1.62.0 (#21086) * Build(deps-dev): Bump yard from 0.9.32 to 0.9.34 (#21087) * Build(deps): Bump rubocop from 1.50.0 to 1.50.1 (#21088) * FIX: Educational composer messages regressed in 788dc0a (#21082) * PERF: Avoid full `posts` table scans during anonymisation (#21081) * Revert "DEV: Support modifyClass for native class fields on EmberObjects (#20987)" (#21080) * DEV: Support modifyClass for native class fields on EmberObjects (#20987) * DEV: Refactor ComposerMessages (#21077) * PERF: Memoize element references for `dockCheck` (#21079) * DEV: Enable patch-package in production and in `javascripts/discourse` (#21078) * FIX: all staff_counters should be pluralized strings (#21048) * DEV: Skip flaky test on actions (#21072) * UX: Enable new notifications menu by default (#21060) * DEV: Switch sidebar section link identifier to data attribute (#21051) * DEV: Minor refactoring and improvements to `TopicsFilter` (#21068) * DEV: Run system tests with documentation format on github actions (#21069) * FIX: Don’t assume post is available in UserEmail job (#21054) * Build(deps): Bump rack-protection from 3.0.5 to 3.0.6 (#21065) * Build(deps): Bump nokogiri from 1.14.2 to 1.14.3 (#21064) * DEV: Support `created-by:<username>` filter on `/filter` route (#21067) * FEATURE: Initial chat thread indicator and disabling echo mode in channels (#21047) * Build(deps): Bump sass from 1.61.0 to 1.62.0 in /app/assets/javascripts (#21063) * Build(deps): Bump rubocop from 1.49.0 to 1.50.0 (#21062) * Build(deps): Bump rack-mini-profiler from 3.0.0 to 3.1.0 (#21066) * UX: improve composer control spacing on mobile (#21021) * SECURITY: strip `xlink:href` from uploaded SVGs (#21058) * SECURITY: strip `xlink:href` from uploaded SVGs (#21057) * DEV: Experimental JS plugin API for topic summary HTML (#20963) * DEV: Stop event propagation in `DTooltip` (#20897) * Update translations (#21055) * Update translations (#21056) * FEATURE: Increase pbkdf2 iterations to 600k (#20981) * Add RenderGlimmer support for embedded posts (#21046) * FEATURE: Persist password hashing algorithm/params in database (#20980) * DEV: Force an upgrade of watch-detector (#21053) * DEV: Use patch-package to apply ember-jquery workaround * Build(deps): Bump terser in /app/assets/javascripts (#21042) * UX: chat mobile tweaks (#21041) * DEV: Chat thread reply counter cache (#21050) * FIX: Incorrect message inbox displayed due to username case sensitivity (#21049) * FIX: Multiple channels marked active in sidebar (#21045) * FIX: improve performance of UserStat.ensure_consistency (#21044) * DEV: Support `in:<notification level>` filter on `/filter` route (#21038) * FIX: Use string for postgres recently readonly DistributedCache (#21040) * FIX: Make emoji cache store marshalled objects (#21029) * DEV: Add fetching likes info to api docs (#21028) * FIX: staff_counters should be pluralized strings (#21039) * FIX: ensures activeMessage is reset with channel (#21031) * Chat/drawer ux tweaks (#21032) * Build(deps): Bump eslint from 8.37.0 to 8.38.0 in /app/assets/javascripts (#21033) * Build(deps): Bump sass-embedded from 1.60.0 to 1.61.0 (#21034) * Build(deps-dev): Bump yard from 0.9.28 to 0.9.32 (#21035) * Build(deps): Bump rails_failover from 0.8.1 to 1.0.0 (#21036) * Build(deps): Bump addressable from 2.8.3 to 2.8.4 (#21037) * DEV: Add `overflow-x: hidden` to chat message containers (#21030) * FIX: Resize chat collapser when using small width drawer (#21017) * UX: truncate theme toggle text to avoid overflow (#21022) * A11Y: increase contrast of elements in wcag scheme (#21025) * FIX: ensures message actions are bounded (#21027) * FIX: shows a message as hovered when hovering actions (#21026) * FIX: correctly show user info (#21023) * UX: remove extra space from emoji in notifications (#21024) * DEV: Introduced topic_query_create_list_topics modifier (#21016) * UX: fix solo preference page layout (#21012) * FIX: scroll when clicking first emoji of section (#21020) * DEV: Remove unneeded optional chaining operators (#21019) * FIX: cancel editing should clear the composer (#21011) * Build(deps): Bump stackprof from 0.2.24 to 0.2.25 (#21013) * Build(deps): Bump sass from 1.60.0 to 1.61.0 in /app/assets/javascripts (#21014) * DEV: Make setting `top_page_default_timeframe` available in the client app (#21015) * FEATURE: add category name in articleSection meta tag for schema. (#21004) * FIX: do not display the message content when it errors (#21008) * DEV: Rely on helpers for ajax error handling to reduce repetition (#20988) * DEV: Setup lint to the future (#20990) * DEV: Allow HTML errors whenever a popup is generated (#20989) * FIX: correct backdrop on mobile for the emoji picker (#21005) * DEV: Refactoring chat message actions for ChatMessage component usage in thread panel (#20756) * Build(deps): Bump @uppy/aws-s3 in /app/assets/javascripts (#20996) * DEV: Change the params for categoryNone redirect (#20944) * Build(deps): Bump @uppy/aws-s3-multipart in /app/assets/javascripts (#20998) * Build(deps): Bump @uppy/xhr-upload in /app/assets/javascripts (#20993) * DEV: Extract global compat code into module (#20901) * Build(deps): Bump @uppy/utils in /app/assets/javascripts (#20992) * Build(deps): Bump webpack in /app/assets/javascripts (#20999) * FIX: Correctly pre-select first option in bookmark notification drop-down (#20976) * DEV: Support `in:bookmarked` filter for the `/filter` route (#21000) * DEV: Introduce `in:pinned` filter for experimental `/filter` route (#20974) * FIX: accounts for `hide_profile_and_presence` core user option (#20991) * PERF: Fix N+1 queries problem when listing topics list (#20971) * FEATURE: public custom sidebar sections visible to anonymous (#20931) * FIX: Handle errors when we show the edit user directory columns modal (#20986) * FIX: Show better default error when failing to delete all user posts (#20985) * FIX: `<QuoteButton/>` shifts when content is added to header (#20878) * UX: Do not show bootstrap mode button on mobile (#20984) * FEATURE: SiteSetting for creation of small action on tag change (#20812) * DEV: Add yarn-app shim to run yarn using the app modules (#20983) * DEV: Run yarn install before db migrations in `d/boot_dev` (#20866) * PERF: Use `OpenSSL::KDF` for Pbkdf2 implementation (#20982) * DEV: phpBB3 importer should get quoted username from actual post (#20979) * FIX: phpBB3 importer created invalid quote for posts (#20646) * DEV: Add plugin hook for transforming site setting defaults (#20941) * Build(deps): Bump ember-auto-import in /app/assets/javascripts (#20970) * FIX: Error in CSS generation for anon on login_required (#20978) * Update translations (#20861) * Update translations (#20862) * FEATURE: Add CSS class generation for category colors and hashtags (#20951) * FIX: public sidebar sections belong to system user (#20972) * DEV: Use Migration::Helpers.existing_site? for other migrations (#20949) * DEV: Properly support composing multiple category filters on `/filter` (#20953) * Build(deps): Bump addressable from 2.8.2 to 2.8.3 (#20968) * UX: fix spacing between assign tags (#20967) * DEV: Remove unused test (#20964) * FIX: Show correct status for user reviewables (#20959) * FEATURE: Allow invite only and Discourse connect (#20961) * FEATURE: SiteSetting to default user path to different routes (#20962) * FIX: icon toggles saerch menu display on click (#20950) * UX: use relative units to prevent timeline crop (#20943) * FIX: Use correct translation key (#20958) * Update default ga_version to v4 and add warning message for v3 (#20936) * UX: Chat channel title overflow ellipsis fixes (#20956) * DEV: Update minimum Ruby version 3.2 (#20955) * DEV: allows <UserStatusMessage /> to accept custom css class (#20954) * UX: Make input on `/filter` route full width (#20952) * FIX: Add lazy-videos support for Vimeo unlisted videos (#20916) * Build(deps): Bump nio4r from 2.5.8 to 2.5.9 (#20947) * Build(deps-dev): Bump capybara from 3.38.0 to 3.39.0 (#20946) * DEV: Nuke plugin related code from core (#20928) * DEV: Drop plugin related index from core (#20930) * FIX: Trashing message should reset last read (#20912) * DEV: Fix a use-after-destroy issue (#20948) * DEV: Drop chat_uploads table and model and remove old references (#20926) * Build(deps): Bump rubocop from 1.48.1 to 1.49.0 (#20945) * DEV: Get headline excerpt config from GroupedSearchResult in serializer. (#20942) * DEV: Fix random typos (#20937) * UX: more generic draft abandon message (#20898) * DEV: Make search results blurb non-pg headlines setting dependent (#20939) * DEV: Introduce `Migration::Helpers` for new-site detection (#20934) * DEV: Support filter for topics in specific subcategories on /filter (#20927) * PERF: Set default global regex timeout to 2 seconds (#20933) * Build(deps): Bump eslint in /app/assets/javascripts (#20883) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#20920) * Build(deps): Bump webpack in /app/assets/javascripts (#20885) * Build(deps-dev): Bump selenium-webdriver from 4.8.3 to 4.8.6 (#20880) * Build(deps): Bump msgpack from 1.6.1 to 1.7.0 (#20882) * Build(deps): Bump tzinfo-data from 1.2023.2 to 1.2023.3 (#20884) * Build(deps): Bump loofah from 2.19.1 to 2.20.0 (#20919) * Build(deps): Bump parser from 3.2.1.1 to 3.2.2.0 (#20918) * FEATURE: use "Comment" schema type for post replies. (#20932) * Build(deps): Bump addressable from 2.8.1 to 2.8.2 (#20921) * Build(deps): Bump puma from 6.1.1 to 6.2.1 (#20922) * Build(deps): Bump @babel/core in /app/assets/javascripts (#20923) * UX: multiple minor improvements (#20917) * UX: reviewq flagging (#20913) * FEATURE: Experimental API for custom full-page search types. (#20915) * FIX: Vertically center youtube thumbnails in lazy-videos (#20914) * DEV: Update experimental `/filter` route with categories support (#20911) * FIX: Drop internal URL validation for paths in sidebar (#20891) * FIX: Prevent errors from uppy performance logging (#20910) * DEV: Add debug for ChatablesControllerSpec (#20909) * UX: Update guidance for target DAU/MAU (#20908) * Build(deps): Bump rspec-mocks from 3.12.4 to 3.12.5 (#20905) * UX: onebox site icon needs a right margin (#20902) * SECURITY: Update URI gem to 0.12.1 to address CVE-2023-28755 (#20907) * SECURITY: Update URI gem to 0.12.1 to address CVE-2023-28755 (#20906) * FIX: use unselectable mixin in sidebar drag and drop (#20886) * DEV: add topic_query_suggested_options modifier (#20893) * UX: Improve error message when a topic cannot be moved due to category restrictions (#20900) * Fix keyboard shortcut button hover color for WCAG color schemes (#20431) * UX: prevents long press on reaction to open actions (#20899) * DEV: Make postgres_readonly cache work like other caches (#20879) * FEATURE: ability to bulk_remove users from a group (#20876) * FIX: pretty-text shims - getURL's baseUri (#20822) * DEV: stop getting topic.url in specs (#20895) * DEV: Improve test coverage for `/filters` route (#20890) * DEV: Remove currentUser lookup in pretty-text (#20894) * DEV: Add auto _map extension for simple/compact list SiteSettings (#20888) * FIX: Do not validate email in TL promotion (#20892) * FEATURE: modifier API for plugins (#20887) * DEV: Support `status:public` in topics filtering query language (#20889) * DEV: Add specs to ChannelSerializer and StructuredChannelSerializer (#20872) * DEV: Update experimental `/filter` route with tags support (#20874) * DEV: Remove lazy-yt and replace with lazy-videos (#20722) * UX: Add description to apple touch setting (#20875) * DEV: Remove `{{user-selector}}` (#17753) * FIX: ensures removing a reaction doesn’t remove others (#20869) * FIX: disable text select on sidebar (#20871) * FIX: reorder custom sidebar links on touch screen (#20856) * DEV: Remove diffhtml_preview for video thumbnails (#20865) * FIX: Push notification delay should not be longer than specified (#20864) * Revert "UX: Take sticky header into account when spacebar scrolling (#20848)" (#20863) * DEV: Uncomment chat upload system specs (#20859) * FIX: skip category preference update if already set by group. (#20823) * UX: Improve login required page (#20847) * PERF: optimise serialization for topic tracking state (#20860) * FIX: channel_message_bus_last_id was incorrect (#20858) * DEV: allow API for list_suggested_for to exclude random (#20857) * DEV: Fix excessive MessageBus#last_id calls in chat (#20855) * PERF: ensure sidebar section link index is correctly ordered (#20854) * FIX: Make chat tracking payload backwards compatible (#20852) * UX: Take sticky header into account when spacebar scrolling (#20848) * DEV: Introduce bulk channel tracking publisher (#20838) * FIX: global sidebar section icon not moving on scroll (#20851) * Build(deps-dev): Bump selenium-webdriver from 4.8.2 to 4.8.3 (#20850) * UX: Improve the "install theme/component" modal on mobile (#20777) * DEV: Update browserslist (#20846) * WIP: Skip system specs with upload fabricators (#20821) * DEV: Make `capabilities` into a service (#18678) * DEV: Make category topic_ids cache work like other caches (#20814) * DEV: Make category subcategory_ids cache work like other caches (#20815) * DEV: Make hex cache work like other caches (#20816) * DEV: Make csp cache work like other caches (#20818) * DEV: make developer cache work like other caches (#20817) * DEV: correctly tests text is rendered in replies (#20845) * Build(deps): Bump @uppy/aws-s3-multipart in /app/assets/javascripts (#20032) * Build(deps): Bump @uppy/utils in /app/assets/javascripts (#20567) * DEV: Fix a constant redefinition warning (#20842) * Build(deps): Bump @uppy/aws-s3 in /app/assets/javascripts (#20033) * Build(deps): Bump @popperjs/core in /app/assets/javascripts (#20831) * Build(deps): Bump sinon from 15.0.2 to 15.0.3 in /app/assets/javascripts (#20829) * Build(deps): Bump sass from 1.59.3 to 1.60.0 in /app/assets/javascripts (#20830) * Build(deps): Bump terser in /app/assets/javascripts (#20832) * DEV: Fix `TopcisFilter#filter_tags` not working for a single tag (#20840) * DEV: Only show plugin tab for admin (#20841) * DEV: Introduce `TopicsFilter#filter_tags` method (#20839) * FIX: admin always see configure default sidebar categories (#20836) * Build(deps): Bump tzinfo-data from 1.2022.7 to 1.2023.2 (#20826) * Build(deps): Bump sass-embedded from 1.59.3 to 1.60.0 (#20827) * Build(deps-dev): Bump selenium-webdriver from 4.8.1 to 4.8.2 (#20824) * Build(deps): Bump connection_pool from 2.3.0 to 2.4.0 (#20828) * DEV: Introduce dedicated controller and route for `discovery.filter` (#20837) * Build(deps): Bump rubocop-ast from 1.27.0 to 1.28.0 (#20825) * FIX: display validation under custom sidebar fields (#20772) * DEV: Skip system tests timing out on CI (#20835) * FIX: Broken `?status=(listed|unlisted)` query param support (#20834) * UX: Make table wrapper popup button icon only (#20820) * FIX: Check for staff without triggering anonymous user error (#20819) * DEV: Drop our mail gem fork (#20805) * FIX: Post height issues with Expand Table button (#18810) * DEV: Make theme cache work like other caches (#20813) * DEV: Make banner cache work like other caches (#20811) * A11Y: usernames aren't a meaningful heading (#20623) * UX: Show titles on site settings navigation menu items (#20794) * DEV: Disable test to see if this is what's causing ci failures (#20809) * UX: Restore reviewable counts on hamburger for legacy navigation (#20807) * DEV: Use component class instead of string in user-menu API (#20806) * FEATURE: Move bootstrap mode indicator to header (#20663) * DEV: Remove server-side-only entry for /upgrade (#20804) * Build(deps): Bump webpack in /app/assets/javascripts (#20798) * UX: Fix mobile grippie being hidden (#20803) * FIX: Make sure marking channels read propagates to all tabs (#20802) * UX: Allow opening user-menu tabs in new tab/window (#20792) * FIX: use correct validation method name for `default_categories_normal`. (#20801) * DEV: Refactor `TopicQuery#default_results` to improve readability (#20800) * FIX: delay custom section reorder (#20799) * FIX: ACL for OptimizedImage was using wrong path on multisite (#20784) * Build(deps): Bump @glimmer/syntax in /app/assets/javascripts (#20797) * Build(deps-dev): Bump test-prof from 1.2.0 to 1.2.1 (#20796) * DEV: Show which system tests are being executed in CI (#20795) * DEV: More specific API to including extra associations in CategoryList (#20790) * DEV: Add `{{yield}}` to user-stream-item for plugins/themes (#20791) * FIX: Avoid double-encoding featured topic title in user profile (#20740) * DEV: Convert composer controller to native class syntax (#20723) * SECURITY: Limit URL length for theme remote (stable) (#20788) * SECURITY: Limit URL length for theme remote (#20787) * Revert "FIX: delay custom section reorder (#20781)" (#20786) * FIX: relies only on message bus to set tracking state (#20785) * DEV: Switch to data attributes to represent sidebar section name (#20771) * FEATURE: allow site owners to disable impersonation (#20783) * FIX: delay custom section reorder (#20781) * FIX: Make sure "last visit" is not shown after marking all messages read (#20782) * DEV: Capture output in hashtags spec (#20773) * UX: Styling adjustments for filters page (#20768) * FIX: missing translation for 'reset_bounce_score' staff action log (#20780) * PERF: Optimize topic query for many categories (#20743) * DEV: Add preload API to CategoryList (#20778) * FIX: Do not allow anonymous users to be anonymized (#20776) * DEV: Allow `DROP NOT NULL` in pre-deploy migrations (#20775) * DEV: Introduce regex_timeout_seconds global setting (#20774) * Update translations (#20761) * Update translations (#20760) * Build(deps): Bump webpack in /app/assets/javascripts (#20695) * Build(deps): Bump sass-embedded from 1.59.2 to 1.59.3 (#20694) * FEATURE: Mark all chat channels read with a shortcut (#20629) * DEV: Skip channel-wide mention chat specs (#20770) * FIX: disable reorder links on touch screens (#20769) * DEV: Remove experimental support for query string on `/filter` route (#20632) * FEATURE: Auto-remove users without permission from channel (#20344) * FIX: do not refresh metadata of not followed channel (#20766) * UX: improve directory user fields on small screens (#20765) * UX: allow profile menu tabs to scroll if needed (#20619) * DEV: Remove emoji cache dead code (#20764) * FIX: Fix the emoji toned regexes (#20763) * DEV: no need to pass down `skip_notifications` for expanding mentions (#20683) * Build(deps-dev): Bump syntax_tree from 6.0.2 to 6.1.1 (#20762) * Build(deps): Bump stackprof from 0.2.23 to 0.2.24 (#20752) * UX: update chat icon to d-chat (#20744) * UX: clarify descriptions for watched words, style (#20678) * FEATURE: log manual bounce reset (#20758) * FIX: ensures user with multiple tabs see own reactions (#20759) * DEV: uses container resize event instead of mutation (#20757) * DEV: Rough chat message loading and posting in thread (#20579) * FIX: my links in sidebar section (#20754) * UX: Fix menu panel padding on non-safe-area contexts (#20746) * FEATURE: ability to reorder links in custom sidebar sections (#20626) * UX: disables composer auto focus on drawer (#20751) * FIX: Badge granting recursion error (#20750) * DEV: fixes linting (#20748) * FIX: replace unitless 0 in CSS calc() with '0px' (#20689) * DEV: Generate video thumbnails from the File object instead of the DOM (#20696) * DEV: Set containing block for Popper dropdowns (#20745) * FIX: Support tag query param on `/tag/{name}` routes (#20742) * UX: Some very minor WCAG scheme fixes (#20726) * DEV: Refactor svg sprite parsing (#20727) * FIX: Do not show user tips over composer (#20708) * DEV: handles presence channel configured with everyone group (#20741) * DEV: Move user/group cards from named outlet to component (#20718) * FIX: Avoid double-encoding featured topic title in user card (#20739) * Build(deps): Bump deepmerge in /app/assets/javascripts (#20732) * Build(deps): Bump version_gem from 1.1.1 to 1.1.2 (#20731) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#20680) * FIX: Error for admin-panel incoming email logs (#20738) * DEV: Minor refactor for bookmark polymorphic changes (#20733) * FIX: correctly checks for chat enabled in incoming webhooks controller (#20730) * FIX: MaxMindDB download failures caused a crash on rebuild (#20737) * FIX: search index failing on certain posts (#20736) * UX: Fix chat separator alignment (#20669) * UX: disable arrow up to edit if last message is not editable (#20729) * FIX: ensures updateLastRead is called when receiving a message (#20728) * FIX: An ember build is required to run the system tests (#20725) * FIX: ensures lightbox is working after collapse/expand (#20724) * DEV: fixes a flakey spec (#20721) * FIX: correctly infer polymorphic class from bookmarkable type (#20719) * UX: Update Install Popular items and links (#20688) * DEV: properly namespace chat (#20690) * DEV: Migrate remaining admin classes to native syntax (#20717) * DEV: Resolve and unsilence `ember.built-in-components` deprecation (#20716) * DEV: Resolve and unsilence `ember-global` deprecation (#20702) * DEV: Update admin models to native class syntax (#20704) * PERF: Use native postgres upsert for ApplicationRequest (#20706) * Version bump to v3.0.2 (#20714) * Version bump to v3.1.0.beta3 (#20712) * UX: Adjust menu panels on iOS (#20703) * SECURITY: Bump Rails to v7.0.4.3 (#20675) * SECURITY: Add FinalDestination::FastImage that's SSRF safe * SECURITY: SSRF protection bypass with IPv4-mapped IPv6 addresses * SECURITY: Monkey-patch web-push gem to use safer HTTP client * SECURITY: Fix XSS in full name composer reply * DEV: Skip chat channel test * SECURITY: Add FinalDestination::FastImage that's SSRF safe * FIX: Escaped mentions in chat excerpts * SECURITY: XSS on chat excerpts * SECURITY: SSRF protection bypass with IPv4-mapped IPv6 addresses * SECURITY: Monkey-patch web-push gem to use safer HTTP client * SECURITY: Fix XSS in full name composer reply * DEV: add test cases for email notifications about channel-wide mentions (#20691) * DEV: Fix tag route fixture param (#20693) * SECURITY: Rate limit the creation of backups * SECURITY: Rate limit the creation of backups * UX: Change JPEG to JPG for search consistency (#20698) * DEV: Check Zeitwerk eager loading in GitHub CI (#20699) * DEV: Drop impossible conditional from admin-logs-staff-action-logs (#20687) * DEV: Cleanup unrelated comment from `development.rb` (#20697) * DEV: Optionally, run system tests in docker:test * DEV: Use rspec instead of turbo_rspec with one core * DEV: remove unused string (#20662) * DEV: Update admin modal controllers to native class syntax (#20685) * Build(deps): Bump @babel/core in /app/assets/javascripts (#20681) * Build(deps): Bump sass from 1.59.2 to 1.59.3 in /app/assets/javascripts (#20682) * Build(deps): Bump rack-test from 2.0.2 to 2.1.0 (#20679) * DEV: Update admin routes to native class syntax (#20686) * DEV: Update docker_test to checkout specific branch by default (#20684) * DEV: Update admin controllers to native class syntax (#20674) * DEV: Store theme sprites in the DB (#20501) * FIX: do not send emails when channel-wide mentions are disabled in a channel (#20677) * SECURITY: Bump Rails to v7.0.4.3 (#20675) * FIX: Latest post created_at on topic-timeline not updating (#20665) * FIX: update LoadMore selector for user tables (#20676) * UX: Improve menu panel height fallback for older browsers (#20673) * Update translations (#20672) * Update translations (#20671) * UX: Improve safe-mode copy (#20670) * FIX: `default_list_filter = none` navigation and preloading (#20641) * DEV: Update the rubocop setup (#20668) * Build(deps): Bump rack from 2.2.6.3 to 2.2.6.4 (#20667) * DEV: Refactor `Jobs::UserEmail` a little * FIX: TopicQuery for NULL `category.topic_id` (#20664) * FEATURE: Hook for suggested topic customization (#20618) * FIX: Broken topic-timeline summarize topic button (#20661) * FIX: anonymous users cannot load topics with mentions with a user status that has an end date (#20660) * FIX: Avatar upload error (#20658) * Build(deps): Bump sass from 1.58.3 to 1.59.2 in /app/assets/javascripts (#20656) * Build(deps): Bump node-fetch from 3.3.0 to 3.3.1 in /app/assets/javascripts (#20655) * Build(deps): Bump eslint from 8.35.0 to 8.36.0 in /app/assets/javascripts (#20652) * Build(deps): Bump sinon from 15.0.1 to 15.0.2 in /app/assets/javascripts (#20653) * Build(deps): Bump jsdom from 21.1.0 to 21.1.1 in /app/assets/javascripts (#20651) * Build(deps): Bump sass-embedded from 1.58.3 to 1.59.2 (#20649) * Build(deps): Bump rspec-mocks from 3.12.3 to 3.12.4 (#20648) * Build(deps): Bump logster from 2.11.4 to 2.12.2 (#20647) * Build(deps): Bump webpack from 5.76.0 to 5.76.1 in /app/assets/javascripts (#20654) * FEATURE: Only list watching group messages in messages notifications panel (#20630) * UX: avoid overflow clipping descenders (#20643) * UX: some admin theme list style adjustments (#20625) * FIX: Welcome topic banner showing after general category is deleted (#20639) * UX: improves site setting description for `discourse_connect_url` (#20642) * DEV: adds a `addChatDrawerStateCallback` API (#20640) * DEV: Resolve `d-button-action-string` deprecation in `exception.hbs` (#20638) * FIX: ensures edited message is correctly re-decorated (#20637) * FIX: more consistent scroll to bottom (#20634) * DEV: do not fabricate a notification when fabricating a chat_mention (#20636) * DEV: Correct core test run detection for theme-qunit (#20635) * DEV: Fail core JS test runs if deprecations are triggered (#20614) * DEV: Include ember deprecation messages in production builds (#20587) * Build(deps): Bump prettier_print from 1.2.0 to 1.2.1 (#20620) * Build(deps): Bump terser in /app/assets/javascripts (#20621) * DEV: Avoid logging routing errors (#20622) * FEATURE: Configurable auto-bump cooldown (#20507) * DEV: Change sidebar header dropdown to use wait_for_animation (#20627) * Revert "FIX: tag dropdown not working with default_list_filter (#20608)" (#20631) * DEV: Let unread topics come through to /new when new new view is enabled (#20628) * FIX: tag dropdown not working with default_list_filter (#20608) * FIX(cache_critical_dns): use DB port sourced from environment * FIX: Ensure `form_template_ids` is defined on new category records (#20610) * Revert "DEV: Add crossOrigin to video tag (#20617)" (#20624) * clear security keys in disable_2fa rake task (#20586) * DEV: Add crossOrigin to video tag (#20617) * DEV: better split create_notification! and send_notifications logic (#20562) * FIX: improves unread state precision (#20615) * DEV: Resolve avatar-selector `computed-property.override` deprecation (#20616) * Generate thumbnail images for video uploads (#19801) * FIX: review q issues (#20558) * FIX: Don't send image sizes for emojis/avatars (#20589) * UX: position of group user table dropdown, border (#20593) * DEV: Resolve topic#details computed-property.override deprecation (#20612) * DEV: Unsilence and resolve setting-on-hash deprecation (#20611) * UX: Tweak last-visit/date separators (#20601) * DEV: Unsilence two ember deprecations (#20609) * FIX: Ensure `required_tag_group` is defined on new category records (#20600) * FIX: Uploading multiple files to chat could cause canellations (#20605) * DEV(cache_critical_dns): improve error reporting for failures * FIX: UploadReference order by tiebreaker for UploadSecurity (#20602) * Revert "FIX: more precise unread message detection (#20588)" (#20604) * DEV: Introduce `stub_ip_lookup` spec helper (#20571) * DEV: avoid mocking FinalDestination (#20570) * FIX: set external flag before validation (#20599) * Build(deps): Bump parser from 3.2.1.0 to 3.2.1.1 (#20597) * Build(deps): Bump webpack in /app/assets/javascripts (#20598) * Build(deps): Bump google-protobuf from 3.22.0 to 3.22.1 (#20596) * DEV: Remove ruby-lsp from Gemfile (#20595) * FIX: broken sticky date on firefox (#20594) * UX: Fix chat-reply overflow (#20592) * DEV: Add new plugin outlet for items left of breadcrumb (#20591) * UX: ensure header logo has dimensions, style clean-up (#20512) * FIX: more precise unread message detection (#20588) * FIX: correctly syncs current user message in multiple sessions (#20584) * DEV: Introduces a wait_for_animation system spec helper (#20573) * FIX: Display a proper error when user already exists and email addresses are hidden. (#20585) * FIX: Don’t email suspended users from group PM * FIX: do not show infinite loading state on draft with new users (#20582) * FEATURE: tooltip for disabled new topic button (#20561) * DEV: Make global search context suggestion first (#20581) * DEV: Remove `badge_granted_title` column from `user_profiles` (#20476) * Build(deps): Bump sorbet-runtime from 0.5.10696 to 0.5.10705 (#20565) * FEATURE: add new tags from edit tag synonyms page (#20553) * DEV: Change external upload rate limit maximums to settings (#20577) * DEV: Fix another chat bookmark spec (#20578) * Revert "DEV: Allow webmock to intercept `FinalDestination::HTTP` requests (#20575)" (#20576) * DEV: Allow webmock to intercept `FinalDestination::HTTP` requests (#20575) * DEV: Fix broken plugin specs because of bookmarkable changes (#20574) * DEV: Introduce `stub_ip_lookup` spec helper (#20571) * DEV: avoid mocking FinalDestination (#20570) * FIX: class for section link when name has space (#20569) * DEV: Change Bookmarkable registration to DiscoursePluginRegistry (#20556) * FIX: anonymous FAQ link to external URL (#20568) * PERF: Remove request for PM topic tracking state initiated from sidebar (#20554) * PERF: various perf improvements of chat-live-pane (#20563) * DEV: Always create chat mention records (#20470) * Update translations (#20559) * Update translations (#20560) * FIX: Handle null values in category settings relative time pickers (#20552) * FEATURE: allow external links in custom sidebar sections (#20503) * FIX: Trim whitespace on email field for invites (#20547) * DEV: Add `/theme-qunit` to skipped mini profiler paths (#20551) * FIX: prevents mouseover to gain focus on sk row (#20550) * Build(deps): Bump rubocop from 1.47.0 to 1.48.0 (#20548) * UX: fix width for top embedded reply, post notice (#20546) * PERF: reduce height of the load more past message area (#20545) * FIX: Deleting security keys was not working (#20427) * PERF: applies optimisations on chat-live pane (#20532) * UX: style improvements to new user tables (#20530) * DEV: Improve mini_profiler skipped paths (#20544) * PERF: Skip metadata routes for mini_profiler (#20543) * FIX: do not refresh when accessing loaded reply (#20526) * UX: remove visual chat msg staging effect (#20542) * FIX: Use the default value correctly for theme settings of type uploads (#20541) * FIX: leaking callbacks to synchronize state (#20540) * Build(deps): Bump ruby-progressbar from 1.12.0 to 1.13.0 (#20533) * Build(deps): Bump rack from 2.2.6.2 to 2.2.6.3 (#20535) * Build(deps): Bump sorbet-runtime from 0.5.10693 to 0.5.10696 (#20534) * Build(deps): Bump faraday-retry from 2.0.0 to 2.1.0 (#20536) * Build(deps-dev): Bump syntax_tree from 6.0.1 to 6.0.2 (#20537) * Build(deps-dev): Bump minitest from 5.17.0 to 5.18.0 (#20538) * Build(deps): Bump msgpack from 1.6.0 to 1.6.1 (#20539) * FIX: Incorrect topic tracking state count when a new category is created (#20506) * FIX: The default inbox label if username is not all lower cased in the url (#20531) * DEV: removes dead code (#20529) * UX: remove old group directory template, CSS (#20528) * FIX: prevents duplicate reactions (#20527) * FIX: prevents exception on required login sites with chat (#20525) * UX: makes last visit stand out less (#20524) * DEV: Unify behavior of category and tag links in sidebar in new new view experiment (#20488) * DEV: rework the chat-live-pane (#20519) * DEV: Support `@debounce` decorator in native class syntax (#20521) * UX: fix banner overlapping issue at breakpoint of around 1260px width (#20463) * DEV: Experimental /filter route to filter through topics (#20494) * UX: update user chat preference link for new nav (#20518) * DEV: Add ruby_lsp gem to development (#20517) * REFACTOR: user directories without `<table>`, second attempt (#20515) * Revert "DEV: rework the chat-live-pane (#20511)" (#20514) * DEV: rework the chat-live-pane (#20511) * Revert "REFACTOR: user directories without `<table>` (#20316)" (#20513) * FIX: #present -> #presence typo in TopicRetriever (#20509) * Revert "DEV: rework the chat-live-pane" (#20510) * UX/DEV: Review queue redesign fixes (#20239) * DEV: rework the chat-live-pane * REFACTOR: user directories without `<table>` (#20316) * Hide allowed_user_api_push_urls site setting from admin UI (#20508) * FIX: No small action created when a non-author removes itself from a PM (#20502) * Build(deps): Bump ruby-progressbar from 1.11.0 to 1.12.0 (#20499) * Build(deps): Bump rubocop from 1.46.0 to 1.47.0 (#20500) * UX: Switch My Posts link in sidebar to My Drafts when drafts are present (#20491) * DEV: Move about_stat_groups to DiscoursePluginRegistry (#20496) * DEV: Show active categories in form templates customize table (#20498) * DEV: Define form template field inputs (#20430) * FIX: Allow floats for zoom level in Google Maps onebox * FIX: Don't set `categoryId` on PM drafts (#20475) * DEV: Remove site setting "diags" (#20481) * Build(deps): Bump ember-modifier in /app/assets/javascripts (#20489) * DEV: Clean up settings component (#20485) * DEV: Fix slow topics_controller_spec regression (#20495) * FIX: recalculating trust levels was not working (#20492) * FIX: only show approved users in search_user results when site setting enabled (#20493) * UX: Skip applying link-type watched words to user custom fields (#20465) * FEATURE: Chat header icon indicator preference (#20474) * FIX: mark posted as true for post authors in the TopicUser table during ensure_consistency task (#20473) * PERF: Eager load linkables when loading custom sidebar sections (#20490) * FEATURE: log to STDOUT using Rails 5 env var (#18880) * Build(deps): Bump rubocop-ast from 1.26.0 to 1.27.0 (#20487) * Build(deps): Bump puma from 6.1.0 to 6.1.1 (#20486) * DEV: reduce amount of errors logged when notifying on flags (#20472) * DEV: Move `form_template_ids` serializer location (#20446) * FIX: Copy & Fullscreen button edits in codeblocks (#20483) * DEV: Add `digest` to licensed's default gems list (#20480) * Update translations (#20479) * Update translations (#20478) * Add a plugin outlet `admin-users-list-show-before` (#20477) * FEATURE: Update topic/comment embedding parameters (#20181) * UX: Update badge icons (#20462) * FIX: autocomplete failing for :( (#20461) * FEATURE: Add API scope for listing topics in a category (#20471) * UX: Fix large onebox avatars in img chat messages (#20469) * Build(deps): Bump minimist in /app/assets/javascripts (#20468) * DEV: Update ember-cli-htmlbars to 6.2.0 (#20467) * DEV: Update syntax_tree to 6.0.1 (#20466) * DEV: Make the `model` step compatible with collections * DEV: Include unread topics in New topic lists and link to it in sidebar (#20432) * DEV: Clean up `d-modal` (#20443) * DEV: do not fabricate a Notification when fabricating a ChatMention (#20450) * DEV: Resolve and unsilence ember string prototype deprecation (#20448) * Build(deps): Bump pg from 1.4.5 to 1.4.6 (#20455) * Build(deps): Bump raindrops from 0.20.0 to 0.20.1 (#20456) * Build(deps): Bump concurrent-ruby from 1.2.0 to 1.2.2 (#20457) * Build(deps): Bump ember-qunit in /app/assets/javascripts (#20458) * Build(deps): Bump eslint in /app/assets/javascripts (#20459) * FIX: do not escape slash for category text description (#20460) * DEV: fix a linting issue (#20453) * Fix typo (#20452) * DEV: Add classes to user profile's collapsed-info-panel (#20451) * UX: fix tag & category clicks on mobile topic list (#20449) * UX: only allow scroll grab if nav is scrollable (#20447) * DEV: Update recommended Ruby to 3.2.1 (#20444) * DEV: Clean up `showModal()` calls (#20442) * DEV: Fix an error in topic deletion (#20440) * DEV: Fix decorator deprecations (#20438) * FIX: Correct issues in admin-embeddable-host (#20439) * FIX: Correct issues in admin-styles-editor (#20435) (#20437) * Build(deps): Bump terser in /app/assets/javascripts (#20434) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#20433) * DEV: Make Guardian#can_see? default to false for unwatched objects (#20412) * FIX: use category description for sidebar link title (#20436) * FIX: Correct issues in admin-theme-editor (#20435) * DEV: Add support for aliases in HighlightJS languages (#20380) * DEV: Apply form template to categories (#20337) * SECURITY: Show only visible tags in metadata * FEATURE: Adding some more api scopes (#20420) * DEV: Convert admin component definitions to native class syntax (#20311) * FIX: Make sure regular users can delete their PMs (#20424) * DEV: Allow `with_service` in jobs * DEV: Port sidebar mobile view acceptance tests to system tests (#20421) * Update period-title.js (#20422) * FIX: Fast edit doesn’t work on content with certain characters (#20410) * DEV: Remove `redesigned_user_page_nav_enabled` property (#20409) * UX: User badges tweaks (#20408) * Build(deps): Bump ember-auto-import in /app/assets/javascripts (#20419) * DEV: Rename glimmer-topic-timeline -> topic-timeline (#20395) * DEV: Fix bin/turbo_rspec runtime recording (#20407) * Build(deps): Bump rubocop from 1.45.1 to 1.46.0 (#20418) * DEV: Show correct version of Ruby we are using on CI (#20415) * Backport Nokogiri to stable for Ruby 3.2 (#20417) * FEATURE: Add API scopes for group endpoints (#20401) * DEV: Add native class shims for `on`/`observes` decorators * DEV: Introduce ember-decorators addon * DEV: Correct test waiter for requestAnimationFrame (#20413) * DEV: Silence discourse.custom_html_template in its own test (#20414) * DEV: Upgrade ruby-prof from 1.6.0 to 1.6.1 (#20411) * FIX: Blank dialog when auto-join selected in channel creation modal (#20405) * DEV: Remove use of deprecated prop from user notifications templates (#20404) * DEV: Remove use of deprecated prop from user preferences templates (#20403) * FIX: Text selection breaking with hashtag SVG in Firefox (#20406) * DEV: Remove use of redesigned_user_page_nav_enabled prop client side 2 (#20388) * DEV: Apply optimistic update pattern to badge toggle (#20399) * FIX: Override navigation menu to "legacy" via query param not working (#20402) * Build(deps-dev): Bump ruby-prof from 1.5.0 to 1.6.0 (#20400) * DEV: configurable public sidebar sections (#20303) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#20398) * PERF: Add index to speed up ReindexSearch job (#20151) * Build(deps): Bump @babel/core in /app/assets/javascripts (#20381) * DEV: Resolve flaky test caused by requestAnimationFrame use (#20396) * FIX: Add support for Europe/Kyiv timezone (#20394) * Update translations (#20389) * Update translations (#20390) * UX: Restore wider search dropdown width (#20391) * DEV: Remove deprecated topic timeline (#20314) * PERF: Refactor slide-in menu sizing for improved performance (#20377) * DEV: Enable `unless` cops * UX: highlight vars updates (#20346) * DEV: Remove use of redesigned_user_page_nav_enabled prop client side (#20387) * DEV: Remove old user profile navigation menu tests (#20386) * DEV: Use data attributes as identifier for sidebar tag section links (#20385) * DEV: Use data attributes as identifier for sidebar category section links (#20384) * UX: Release new user profile navigation for sidebar compatibility (#20134) * DEV: Change `enable_sidebar` query param to `navigation_menu` (#20368) * FIX: allow changing default DNS query timeout of 2s via GlobalSetting (#20383) * UX: apply skeleton animation on content only (#20376) * UX: add h1 tag to user page (#20378) * DEV: Update styleguide example titles to use angle-bracket naming (#20375) * FIX: Wrong interpolation key (#20374) * UX: badge page styling update (#20373) * FEATURE: Add word count and indicator when exceeded max (#19367) * UX: remove fixed width from buttons (#20369) * Update translations (#20370) * REFACTOR: Fix pluralized strings in chat plugin (#20357) * UX: Hide hamburger dropdown when `enable_sidebar` query param is used (#20367) * DEV: Update javascript:update_constants rake task following template colocation (#20365) * FIX: Do not enqueue update_post_uploads_secure_status unnecessarily (#20366) * FEATURE: Roll out new search optimisations (#20364) * Build(deps): Bump image_optim from 0.31.2 to 0.31.3 (#20359) * Build(deps): Bump tilt from 2.0.11 to 2.1.0 (#20361) * Build(deps): Bump sass-embedded from 1.58.0 to 1.58.3 (#20358) * Build(deps-dev): Bump selenium-webdriver from 4.8.0 to 4.8.1 (#20360) * Build(deps): Bump sass from 1.58.1 to 1.58.3 in /app/assets/javascripts (#20362) * Build(deps): Bump terser in /app/assets/javascripts (#20363) * DEV: Only include userTips if user is present * DEV: Enable glimmer-topic-timeline by default * DEV: fixes spec failing with ruby 3.2.1 (#20356) * DEV: Add `digest` to licensed's default gems list (#20355) * UX: contains overscroll in channels list (#20353) * FIX: Glimmer component arg access (#20354) * Add username template variables to Welcome User email template (#20352) * FIX: Correctly update _subscribedTo* props (#20351) * DEV: fix a flakey spec in slugs_controller (#20350) * FIX: Allow HTML in category read-only dialog (#20349) * FIX: correctly add user info data to message serializer (#20348) * Build(deps): Bump google-protobuf from 3.21.12 to 3.22.0 (#20341) * Build(deps): Bump timeout from 0.3.1 to 0.3.2 (#20339) * UX: move vertical admin plugin nav to horizontal overflow nav (#20319) * FIX: Chat member user card rendered out of view (#20332) * UX: prevents scroll in chat to propagate to parents (#20347) * DEV: Update section-link-test to ignore order of classes * PERF: Remove ember-link-component-extension to enable Glimmer LinkTo * PERF: Remove custom Sidebar::SectionLinkTo implementation * Revert "Revert "Select-kit > use new color vars" (#20042)" (#20345) * UX: userstatus limit handling in UI (#20343) * FEATURE: Use feature detection for showing push notification in iOS (#20338) * DEV: Use service objects for chat thread lookup (#20276) * FIX: removes uneeded footer-nav-height subtraction (#20336) * FIX: ensures staged message are set with channel id (#20335) * DEV: adds is-new-user and primary group class (#20322) * DEV: extract the logic for extracting and expanding mentions from ChatNotifier (#20290) * FIX: correctly account for ipad footer nav height (#20334) * DEV: rtlcss_wrapper renamed to rtlcss (#20331) * DEV: Add backend support for unread and new topics list (#20293) * DEV: Add missing `decorateCookedElement` id (#20330) * FIX: removes stored scroll position in drawer (#20328) * Build(deps): Bump @uppy/xhr-upload in /app/assets/javascripts (#20296) * FIX: Unsubscribing via key associated with deleted topic (#20275) * DEV: Glimmerize ChatMessageActionsDesktop/Mobile components (#20325) * Build(deps): Bump openssl from 3.0.2 to 3.1.0 (#20321) * UX: catch edge cases in tooltip (#20327) * UX: update chat draft icon colour (#20326) * FIX: correct sidebar and chat height on DiscourseHub (#20323) * DEV: Move ChatThreadsManager to channel (#20304) * FIX: Don't fallback to original implementation for linkTitle in the custom type (#20298) * DEV: fixes deprecation warning in SendMessageNotifications (#20318) * DEV: adds spec for deleted message (#20317) * DEV: Fix failing chat spec and add unexpected failure indicator (#20299) * UX: Style edits (#19927) * DEV: Refactor chat service matchers * DEV: Add `after_email_send` app event (#20178) * UX: Fix remove-user-from-pm hover styling (#20273) * Build(deps): Bump rubocop-ast from 1.24.1 to 1.26.0 (#20252) * FIX: ensures chat-message is recomputed with model (#20312) * REFACTOR: channel retention reminder text (#20310) * DEV: Colocate wizard component templates (#20309) * DEV: Colocate core components with mobile templates * DEV: Remove identical mobile template and colocate * DEV: Support mobile-specific template overrides of colocated components (#20307) * Update translations (#20284) * Update translations (#20283) * Build(deps): Bump sass from 1.58.0 to 1.58.1 in /app/assets/javascripts (#20294) * Adjust user avatar redirect cache-control header (#20291) * FIX: Regression with chat shift+select messages (#20305) * DEV: Remove chat_channel_id from chat-live-pane details (#20302) * UX: add transparent border for header icon (#20306) * FIX: correctly open channel info (#20297) * FIX: Overflowing chat content in main-chat-outlet grid (#20301) * FIX: dominant color not working for 16bit images (#20300) * UX: hide chat button on user card when suspended (#20292) * Double arrow support `↔` (#20288) * FIX: Reset admin theme controller on modal cancel event (#20289) * DEV: changes <ChatMessage> to use @glimmer (#20056) * FIX: reverts part of thread css (#20286) * DEV: Refactor wizard preview components to use inheritence (#20282) * A11Y: Allow header logo/title to hide, if needed (#20244) * UX: warn about consequences of group deletion (#20030) * DEV: Revert colocation of components with mobile templates (#20285) * DEV: Add spec to guard against non-colocated component templates * DEV: Remove unneeded layoutName properties * DEV: Colocate all component templates in discourse * DEV: Skip failing modifyClass test (#20281) * DEV: Correct bootstrap-mode-notice component filename (#20279) * DEV: Remove unused JS style rspec test (#20280) * DEV: Correct location of color-input template (#20278) * DEV: Update template-lint-disable in user.hbs (#20277) * DEV: routable chat part 2 (#20232) * FIX: do not notify admins on suppressed categories (#20238) * FEATURE: Chat side panel with threads initial skeleton (#20209) * DEV: Remove old secure_media setting (#20259) * FIX: edit custom section title (#20258) * DEV: Add a plugin outlet for admin upgrade-header (#20274) * UX: allow sidebar to appear inline down to 768px (#20271) * Build(deps): Bump nokogiri from 1.14.1 to 1.14.2 (#20272) * DEV: Modernise and colocate UserField component (#20267) * DEV: Modernise CustomHtml implementation (#20266) * DEV: removes github page documentation page generation (#20268) * DEV: Support using Ember components in dialog service (#20230) * DEV: TaffyDB is MIT licensed per it's repo (#20265) * DEV: Deprecate CustomHTML hbs templates (#20264) * DEV: Refactor `UpdateUserLastRead` a little * DEV: Chat service object initial implementation (#19814) * Build(deps): Bump puma from 6.0.2 to 6.1.0 (#20250) * DEV: Remove layoutName references to site-settings component template * DEV: Colocate all admin component templates * DEV: Introduce support for Glimmer PluginOutlet connectors (#20108) * FIX: Category settings migration failing on '' integer (#20261) * DEV: Use internal __autoloads for zeitwork reload check (#20260) * DEV: Replace #pluck_first freedom patch with AR #pick in core (#19893) * DEV: Add dedicated category settings model - Part 1 (#20211) * FIX: error anonymous when tl4_delete_posts_and_topics setting (#20257) * Build(deps): Bump redis from 4.8.0 to 4.8.1 (#20251) * DEV: Fix typo * UX: Fix confusing error message * UX: Add missing backtick to string * Remove unused string (#20256) * DEV: Replace concatenated string (#20254) * Build(deps-dev): Bump syntax_tree from 5.3.0 to 6.0.0 (#20247) * Build(deps): Bump zeitwerk from 2.6.6 to 2.6.7 (#20253) * Build(deps): Bump eslint in /app/assets/javascripts (#20249) * Build(deps): Bump parser from 3.2.0.0 to 3.2.1.0 (#20248) * FIX: correctly listens to chat notifications (#20246) * FIX: account for cursor drift when completing terms (#19660) * FIX: IconPicker option to display only available icons (#20235) * FIX: Replace hard-coded string with translation (#20245) * A11Y: Header icons should be buttons, not links (#20242) * A11Y: add aria-label to header notification counts (#20231) * DEV: Fix a flakey test (#20241) * UX: add flex alignment for form actions (#20240) * Build(deps): Bump regexp_parser from 2.6.2 to 2.7.0 (#20233) * FIX: Chat's user autocomplete threw errors (#20236) * DEV: Change setActiveChannel to get/set in services/chat (#20237) * FIX: add index to sidebar_section_link (#20234) * UX: Easily toggle badges in admin badge list (#20225) * Revert "UX: flex horizontal form controls (#20098)" (#20228) * DEV: Enable parallel babel processing in ember-cli (#20215) * DEV: Resolve user_option deprecations (#20192) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#20153) * DEV: correct a relationship – a chat message may have several mentions (#20219) * DEV: Apply updated syntax_tree * Build(deps-dev): Bump syntax_tree from 5.2.0 to 5.3.0 * Build(deps-dev): Bump test-prof from 1.1.0 to 1.2.0 (#20223) * FIX: stop youtube autoplay on scrollups (#19951) * Revert "FIX: IconPicker option to display only available icons (#20226)" (#20227) * Fix occasional bug in order of imported comments (#20204) * FIX: IconPicker option to display only available icons (#20226) * FEATURE: Add shortcut to insert current time in composer (#20216) * DEV: Assign `TODO` to `@keegan` (#20224) * UX: improve layout of keyboard shortcut modal (#20220) * FEATURE: Create SQL-only backup if there are no uploads (#20221) * DEV: Create form templates (#20189) * DEV: Add global glimmer-topic-timeline site setting (#20203) * UX: Fix `timeline-handle` positioning (#20217) * FIX: return valid JSON when a post in enqueued (#20214) * Build(deps-dev): Bump ruby-prof from 1.4.5 to 1.5.0 (#20200) * Build(deps-dev): Bump parallel_tests from 4.1.0 to 4.2.0 (#20201) * FIX: changed classname for YT images (#20212) * FIX: hide add section button (#20208) * FIX: improvements for user custom sections (#20190) * FEATURE: Automatically create chat threads in background (#20206) * Revert "FEATURE: Automatically create chat threads in background (#20132)" (#20205) * FEATURE: Automatically create chat threads in background (#20132) * UX: implements a random and auto generated skeleton (#20202) * FIX: apply max-height on the outer container (#20199) * DEV: Add `yaml` support to `<AceEditor />` (#20198) * UX: allows drawer to take most of height space (#20197) * UX: allow tags to wrap under categories on mobile (#20187) * DEV: Added .only_deleted scope in the Trashable module (#20196) * DEV: Move to Sass compilation to dart-sass (#19910) * FIX: ensures non existing user/group cards are not stuck (#20195) * FIX: Redirecting to download backup from S3 could fail (#20171) * Update translations (#20193) * Update translations (#20194) * FEATURE: Support collapsing array sections in JSON Schema field types (#20118) * DEV: refactors routes to simplify using outlet (#20179) * UX: orders public channels by slug instead of title (#20188) * DEV: fixes failing spec (#20191) * DEV: Limit and validate category settings inputs (#20135) * DEV: Add 'chat_message_trashed' Discourse event (#20170) * DEV: Fix flakey search spec (#20185) * FIX: Remove action buttons if post has already been reviewed (#20126) * UX: show full topic title for reply-where (#20109) * FIX: Ensure ColorScheme#resolve falls back to base for missing color (#20186) * FIX: avoid race condition when setting user status (#19817) (#20182) * FEATURE: Allow embedded view to include a header (#20150) * FEATURE: Allow DTooltip interaction (#20169) * Update translations (#20184) * Update translations (#20183) * FIX: avoid race condition when setting user status (#19817) * FIX: fix dragging in horizontal overflow component (#20018) * DEV: Allow registering a widget shim which renders using hbs (#20177) * UX: apply same style for highlight mention span (#20176) * FEATURE: Inline audio player for chat uploads (#20175) * Build(deps): Bump rspec-core from 3.12.0 to 3.12.1 (#20174) * Build(deps): Bump terser in /app/assets/javascripts (#20173) * Build(deps): Bump excon from 0.98.0 to 0.99.0 (#20172) * DEV: Remove unused strings (#20159) * FIX: Use `/` for start_url in webmanifest on non-subfolder installs (#20167) * FIX: autocomplete showing under keyboard on android (#20168) * REFACTOR: Move mention warnings logic into a separate service. (#19465) * DEV: Dock glimmer-topic-timeline with animation (#20166) * UX: move data export to preferences page for new user nav (#20141) * DEV: Add `user-tip` back to glimmer-topic-timeline (#20165) * DEV: Support appending glimmer into existing post elements (#20164) * FIX: Delete associated notifications when trashing chat messages. (#20144) * FIX: Allow keyboard navigation when searching emojis in chat (#20157) * FEATURE: resizeable chat drawer (#20160) * DEV: Remove 'widget-button' from glimmer-topic-timeline (#20155) * FIX: Category hashtags weren't always found for sub-sub-categories (#20156) * Build(deps): Bump ember-cli-app-version in /app/assets/javascripts (#20152) * DEV: configurable custom sidebar sections (#20057) * FIX: de-prioritize archived topics (#20161) * DEV: Make it obvious that `joined` translation is used by onebox (#20158) * FIX: domain searches not working properly for URLs (#20136) * FIX: correctly filters input with pre-filled value (#20154) * DEV: add plugin outlet to badge-card (#20143) * A11Y: share label needs corresponding ID on input (#20148) * FIX: add support for PG 14 and up (#20137) * UX: Add transition to glimmer-topic-timeline fullscreen view (#20149) * DEV: Update glimmer topic timeline visibility state when a post is created (#20145) * FIX: Back button action and position on glimmer topic timeline (#20121) * FIX: Emoji autocomplete “more” button not working in chat (#20113) * FIX: Better ordering of similar user search suggestions (#20142) * FEATURE: Use similarity in user search (#20112) * DEV: Introduce API for rendering Glimmer inside posts (#20140) * A11Y: add aria-label to embedded jump link (#20117) * A11Y: aria-label for the post edit history button (#20123) * A11Y: add aria tags for topic map expansion (#20122) * A11Y: history modal mode toggles need aria-labels (#20125) * FIX: Use `username_lower` in user menu router lookup (#20115) * DEV: Allow HTML in grant admin dialog (#20133) * DEV: Correct syntax_tree violations * DEV: Fix syntax_tree in GitHub CI * DEV: Correct hbs prettier violations * DEV: Add hbs prettier checks to GitHub CI * FIX: Extend username updates to self-mentions (#20071) * Build(deps): Bump jwt from 2.6.0 to 2.7.0 (#20119) * Build(deps): Bump sass from 1.57.1 to 1.58.0 in /app/assets/javascripts (#20120) * DEV: Use template-only for RenderGlimmer helper (#20138) * FIX: Failing system spec for rate limited search (#20046) * FEATURE: rate limit anon searches per second (#19708) * FIX: Sync user's reviewables count when loading reviewables list (#20128) * FIX: search index duplicate parser matching is too restrictive (#20129) * FIX: Emoji preview showing incorrect preview on keyboard focus (#20116) * UX: Add timezone aliases for `IST`, `KST` and `JST` (#20114) * FIX: Update flag URL in auto silence PM to moderators (#20111) * FIX: reverts value check when reseting composer value (#20110) * FIX: corrects a regression hiding avatar in user selector (#20107) * DEV: Pass messageId as a dynamic segment instead of a query param (#20013) * FIX: Replace R2 gem with rtlcss for generating RTL CSS (#19636) * UX: Calculate missing hover/selected colors from existing colors (#20105) * DEV: Add ChatThread model and DB table, and ChatMessage reference (#20106) * Build(deps): Bump sanitize from 6.0.0 to 6.0.1 (#20049) * DEV: Improve MessageBus subscriptions for TopicTrackingState (#19767) * SECURITY: Hide PM count for tags by default (#20061) (#20090) * DEV: Add validator for search_ranking_weights site setting (#20088) * A11Y: embedded posts need disclosure widget attributes (#20048) * FIX: Allow non-persisted color-scheme colors to be edited (#20104) * DEV: Change default bootstrap min users for private sites (#19810) * DEV: `i18n:check` rake task was broken on Ruby 3.1 (#20103) * Update translations (#20102) * Update translations (#20101) * DEV: Rename all uses of PluginOutlet `@args` in core * DEV: Deprecate PluginOutlet `@args` in favour of `@outletArgs` * DEV: Fix flaky specs by explicitly ordering tags (#20097) * FIX: Category permission change not creating a log (#20027) * FIX: Don't spam presence requests when getting 429 (#20084) * DEV: Convert presence service tests to actual unit tests (#20076) * DEV: Remove use of PluginOutlet `@tagName` argument in core * DEV: Deprecate PluginOutlet tagName argument * UX: flex horizontal form controls (#20098) * DEV: Move `editor-preview` wrapper outside PluginOutlet * DEV: Re-evaluate plugin outlet `shouldRender` when inputs change * DEV: Convert PluginOutlet wrapper to a Glimmer component * FIX: vimeo iframe url when data-original-href is missing (#18894) * DEV: Add a test for create_post in import scripts (#18893) * UX: remove chat-specific font declaration (#20096) * DEV: skip failing spec (#20095) * DEV: Move back to web-push gem (#19849) (#20091) * FIX: reword generic site policy defaults (#19359) * UX: brings back URL on chat icon when in full page (#20092) * DEV: Add import script for Yammer (#20074) * DEV: Fix GitHub CI permissions issues (stable) (#20093) * FIX: Don't spam presence requests when getting 429 (#20084) * FEATURE: prioritize_exact_search_title_match hidden setting (#20089) * SECURITY: Hide PM count for tags by default (#20061) * FEATURE: allow restricting duplication in search index (#20062) * DEV: Fix flaky test due to a lack of deterministic ordering (#20087) * DEV: Add hidden site setting to configure search ranking weights (#20086) * FIX: Error calling LazyYT from chat when disabled (#20085) * FIX: Update bookmark topic copy (#20059) * DEV: Start threading for chat (#20060) * Revert "FEATURE: hidden site setting to disable search prefix matching (#20058)" (#20073) * DEV: Fix user_status_controller_spec flakiness (#20083) * DEV: Convert presence service tests to actual unit tests (#20076) * Build(deps): Bump deepmerge in /app/assets/javascripts (#20082) * Build(deps): Bump terser in /app/assets/javascripts (#20081) * Build(deps): Bump logster from 2.11.3 to 2.11.4 (#20080) * Build(deps): Bump nokogiri from 1.14.0 to 1.14.1 (#20079) * FIX: Add support for multiple TikTok aspect ratios (#20064) * DEV: makes test more deterministic (#20078) * DEV: attempts to fix flakey spec (#20075) * DEV: skip spec failing on CI (#20077) * FIX: uses popper for cards * Revert "DEV: uses popperjs for positioning user and group card (#20063)" (#20072) * DEV: Remove elder from codebase and also update 'regular' to 'member' (#20065) * DEV: dry up the Do Not Disturb widget (#19494) * FEATURE: Enable service worker for Apple devices (#19643) * DEV: Fix GitHub CI permissions issues (#20069) * FIX: Ensure anon-cached values are never returned for API requests (stable) (#20022) * DEV: Update user-status test to assert message-bus channels (#20068) * FEATURE: Move metadata user results to list bottom (#18977) * DEV: uses popperjs for positioning user and group card (#20063) * UX: improve emoji alignment for text (#19815) * FIX: preserves avatar size inside onebox (#20066) * PERF: Move user-tips and narrative to per-user messagebus channels (#19773) * FIX: correct various mistakes in chat-notification-manager (#20050) * FIX: Truncate existing user status to 100 chars (#20044) * DEV: use structured data in crawler-linkback-list for referencing only (#16237) * DEV: declare post position as simple number in structured data (#16231) * FEATURE: hidden site setting to disable search prefix matching (#20058) * FEATURE: Allow editing channel slug (#19948) * PERF: N+1 queries on `/tags` with multiple categories tags (#19906) * FIX: Validate asset url before replacing base url (#16438) * Build(deps): Bump excon from 0.97.2 to 0.98.0 (#20053) * Build(deps): Bump tzinfo from 2.0.5 to 2.0.6 (#20051) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#20055) * Build(deps): Bump eslint in /app/assets/javascripts (#20054) * FIX: Better UX for timezones selector in date modal (#20047) * FIX: Intercept old channel URLs in drawer mode (#20043) * FIX: Failing system spec for rate limited search (#20046) * A11Y: post avatars should not be tabbable (#20045) * FEATURE: rate limit anon searches per second (#19708) * Revert "Select-kit > use new color vars" (#20042) * FEATURE: Add separate api scope for topic status (#19978) * UX: Highlight var refactor (#20026) * FIX: Limit user status to 100 characters (#20040) * FIX: Ensure soft-deleted topics can be deleted (#19802) * DEV: Remove byebug file not locally ignored (#20041) * DEV: `/channel` -> `/c` chat route rename (#19782) * DEV: Remove stale TODO (#20039) * FIX: Fixed getting badges from inviting youself (#19778) * Revert "DEV: Delete dead Topic#incoming_email_addresses code (#19970)" (#20037) * DEV: Change slugs/generate endpoint from GET to POST (#19984) * A11Y: add accessible label for bookmark name input (#20036) * FIX: remove link to site with inappropriate content * DEV: Fix ruby syntax tree linting error (#20028) * DEV: Include upload_id on image optimization errors to have more context (#19715) * Build(deps-dev): Bump @embroider/test-setup in /app/assets/javascripts (#20017) * Build(deps): Bump rubocop from 1.44.0 to 1.44.1 (#20016) * Build(deps): Bump bootsnap from 1.15.0 to 1.16.0 (#20015) * Build(deps): Bump globalid from 1.0.1 to 1.1.0 (#20014) * UX: Add staff action log text for permanently_delete_post_revisions (#20025) * DEV: Disable parallel system specs in GitHub actions (#20023) * FIX: Use specified limit option in user search (#20020) * FIX: Ensure anon-cached values are never returned for API requests (#20021) * DEV: Enable parallel system specs in GitHub actions CI (#19584) * DEV: Limit concurrency of NotifyReviewables job (#19968) * Version bump to v3.0.1 (#20010) * Version bump to v3.1.0.beta2 (#19999) * DEV: Fix flakey assertion in test (#20011) * SECURITY: Prevent XSS in local oneboxes (#20009) * SECURITY: Prevent XSS in local oneboxes (#20008) * SECURITY: Update to exclude tag topic filter (#20007) * SECURITY: Update to exclude tag topic filter (#20006) * SECURITY: only show restricted tag lists to authorized users (#20005) * SECURITY: only show restricted tag lists to authorized users (#20004) * SECURITY: Prevent ReDoS in user agent parsing (#20003) * SECURITY: Prevent ReDoS in user agent parsing (#20002) * SECURITY: Prevent ReDOS by making the SSH url regex unambiguous (#20001) * SECURITY: Prevent ReDOS by making the SSH url regex unambiguous (#20000) * FIX: lazy_yt_enabled doesn't affect the engine (#19997) * Revert "FIX: TL4 user can see deleted topics (#19946)" * SECURITY: Remove bypass for base_url * SECURITY: Limit the character count of group membership requests * SECURITY: Limit the length of drafts * SECURITY: Limit chat drafts length and preloaded count * SECURITY: Remove bypass for base_url (#19995) * SECURITY: Limit the character count of group membership requests (#19993) * SECURITY: Limit the length of drafts (#19989) * SECURITY: Limit chat drafts length and preloaded count (#19987) * FIX: text selection breaks opening of links in new tabs (#19867) * FIX: Do not add empty use/svg tags in ExcerptParser (#19969) * FIX: skip email if blank while syncing SSO attributes. (#19939) * FIX: TL4 user is not redirected to latest when delete topic (#19967) * FIX: Do not count deleted post for upload ref security (#19949) * FIX: adds negative skidding to popper offset (#19958) * FIX: data-popper-reference-hidden too broad (#19937) * FIX: Fix margin on mini-tag-chooser (#19953) * FIX: prevents msg-actions to show hover text (#19952) * FIX: generates automatic slug for trashed channels (#19908) * FIX: TL4 user can see deleted topics (#19946) * FIX: Allow modals to scroll on mobile when keyboard is open (#19930) * FIX: Don't display staff-only options to non-staff in group member bulk menu (#19907) * FIX: move min tag setting to tags section in edit category (#19789) * FIX: deleted misconfigured embeddable hosts (#19833) * FIX: Query UploadReference in UploadSecurity for existing uploads (#19917) * FIX: Switch email domain site settings type to host_list (#19922) * FIX: Do not override channel name when category selected (#19920) * FIX: Enqueue notify_mailing_list_subscribers when post is recovered (#19888) * FIX: Change wording from title -> name in channel about page (#19889) * FIX: New hashtag support for narrative bot advanced narrative (#19875) * FIX: Validate tags parameter of TopicQuery (#19830) * FIX: Fix incorrect hashtag setting migration (#19857) * FIX: Use hashtags in channel archive PMs if available (#19859) * FIX: Add migration to reindex invalid indexes (#19858) * FIX: Ensure poll extraction is not attempted if post body is absent (#19718) * FIX: Preload user sidebar attrs when `?enable_sidebar=1` (#19843) * FIX: Prevent concurrent updates to top_topics (#19854) * FIX: Ruby 2 backward compatible plugin logout redirect (#19845) * FIX: Fix flaky test resulting from PostAlerter keyword arguments (#19826) * FIX: Improve error reporting and failure modes for channel archiving (#19791) * FIX: Delete reviewables associated to posts automatically * DEV: Add hashtag controller specs (#19983) * DEV: Delete dead Topic#incoming_email_addresses code (#19970) * Build(deps-dev): Bump @embroider/test-setup in /app/assets/javascripts (#19982) * Build(deps): Bump ember-auto-import in /app/assets/javascripts (#19981) * UX: remove extra whitespace in search helper (#19980) * UX: prevent user card status overflow (#19979) * A11Y: discourse-tags should have a role and label (#19977) * DEV: prevents flakey test (#19976) * Update translations (#19975) * Update translations (#19974) * A11Y: add aria-labels for flagging textareas (#19938) * UX: improve bulk button layout and alignment (#19966) * DEV: Fix random typos (#19973) * FIX: text selection breaks opening of links in new tabs (#19867) * DEV: Patch capybara to ignore client-triggered errors (#19972) * DEV: Remove older ruby version logic (#19971) * DEV: Add failing test for `api.modifyClass` with native getters (#19911) * FIX: Do not add empty use/svg tags in ExcerptParser (#19969) * FIX: skip email if blank while syncing SSO attributes. (#19939) * DEV: Use UploadReference instead of ChatUpload in chat (#19947) * FIX: TL4 user is not redirected to latest when delete topic (#19967) * FIX: Do not count deleted post for upload ref security (#19949) * FEATURE: Add api scope for suspending users (#19965) * FEATURE: Add api scope for create invite endpoint (#19964) * Build(deps-dev): Bump selenium-webdriver from 4.7.1 to 4.8.0 (#19959) * Build(deps): Bump rubocop from 1.43.0 to 1.44.0 (#19961) * Build(deps): Bump qunit from 2.19.3 to 2.19.4 in /app/assets/javascripts (#19962) * Build(deps): Bump concurrent-ruby from 1.1.10 to 1.2.0 (#19960) * FEATURE: Add api scope for search endpoint (#19955) * FIX: adds negative skidding to popper offset (#19958) * SECURITY: Bump Rails to v7.0.4.1 (stable) (#19957) * SECURITY: Bump Rails to v7.0.4.1 (#19956) * UX: fixes and adjustments for user nav (#19954) * FIX: data-popper-reference-hidden too broad (#19937) * FIX: Fix margin on mini-tag-chooser (#19953) * FIX: prevents msg-actions to show hover text (#19952) * FIX: generates automatic slug for trashed channels (#19908) * UX: Set penalty history to sticky (#19933) * FEATURE: Add better TikTok onebox support (#19934) * FEATURE: Allow changing slug on create channel (#19928) * FIX: TL4 user can see deleted topics (#19946) * Build(deps): Bump net-imap from 0.3.1 to 0.3.4 (#19613) * Build(deps): Bump sass from 1.57.0 to 1.57.1 in /app/assets/javascripts (#19538) * Build(deps): Bump erubi from 1.11.0 to 1.12.0 (#19591) * Build(deps): Bump redis-namespace from 1.9.0 to 1.10.0 (#19589) * Build(deps): Bump excon from 0.96.0 to 0.97.2 (#19940) * Build(deps): Bump css_parser from 1.13.0 to 1.14.0 (#19804) * Build(deps): Bump ember-rfc176-data in /app/assets/javascripts (#19925) * Build(deps): Bump rails-html-sanitizer from 1.4.4 to 1.5.0 (#19943) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#19945) * Build(deps): Bump regexp_parser from 2.6.1 to 2.6.2 (#19942) * Build(deps): Bump faraday from 2.7.3 to 2.7.4 (#19941) * Build(deps): Bump jsdom from 21.0.0 to 21.1.0 in /app/assets/javascripts (#19944) * DEV: Prefer \A and \z over ^ and $ in regexes (#19936) * A11Y: remove heading tags from user profile (#19935) * A11Y: add secondary skip link to user profiles (#19926) * UX: hide date in timeline when wrapping (#19912) * UX: Remove left margin (#19932) * UX: Add margin to search keyword (#19931) * FIX: Allow modals to scroll on mobile when keyboard is open (#19930) * SECURITY: Default tags to show count of topics in unrestricted categories (#19929) * FIX: Don't display staff-only options to non-staff in group member bulk menu (#19907) * FEATURE: setting which allows TL4 users to deleted posts (#19766) * FIX: move min tag setting to tags section in edit category (#19789) * FIX: deleted misconfigured embeddable hosts (#19833) * SECURITY: Default tags to show count of topics in unrestricted categories (#19916) * FIX: Query UploadReference in UploadSecurity for existing uploads (#19917) * DEV(cache_critical_dns): add additional service runtime variable * PERF: Don't parse posts for mentions when user status is disabled (#19915) * Build(deps): Bump rubocop-rspec from 2.18.0 to 2.18.1 (#19924) * FEATURE: Allow admins to permanently delete revisions (#19913) * UX: switch categories-boxes layouts from flexbox to grid (#19501) * A11Y: more descriptive user page titles (#19819) * FIX: Switch email domain site settings type to host_list (#19922) * FEATURE: Introduce pg_force_readonly_mode GlobalSetting (#19612) * Build(deps): Bump globalid from 1.0.0 to 1.0.1 (#19914) * FIX: Do not override channel name when category selected (#19920) * FEATURE: Add `in:polls` filter to search (#19885) * DEV: Stop testing with Ruby 3.2 for now (#19909) * UX: prevent search context btn text from wrapping (#19904) * UX: add missing space and other minor search adjustments (#19899) * UX: reorders chat-channel fields (#19905) * DEV: introduces documentation for chat (#19772) * Update translations (#19898) * Update translations (#19897) * Build(deps): Bump rack from 2.2.5 to 2.2.6.2 (#19902) * Build(deps): Bump rspec-mocks from 3.12.2 to 3.12.3 (#19901) * FEATURE: Add rake task to mark old hashtag format for rebake (#19876) * FIX: Enqueue notify_mailing_list_subscribers when post is recovered (#19888) * FIX: Change wording from title -> name in channel about page (#19889) * UX: restyle quote/share popup, fix hover jitter (#19561) * A11Y: add aria tags to the new user nav (#19774) * UX: Refactor alignment of tag icon in Discourse onebox (#19880) * DEV: Allow accessing sourcemaps on `/brotli_asset` path (#19894) * DEV: Bump Rails to 7.0.4 (#19881) * DEV: Use message-bus chunked encoding in development (#19878) * FEATURE: Allow TL4 users to see unlisted topics (#19890) * DEV: Fix linting (#19892) * PERF: N+1 queries when viewing tags (#19891) * FIX: New hashtag support for narrative bot advanced narrative (#19875) * DEV: Add syntax_tree check to lefthook (#19877) * Build(deps): Bump faraday from 2.7.2 to 2.7.3 (#19886) * Build(deps): Bump rubocop-rspec from 2.17.0 to 2.18.0 (#19887) * DEV: Added callback to change the query used to filter groups in search (#19884) * DEV: Update yaml-lint to 0.1.2 for Ruby 3.2 compat (#19882) * FIX: Restore class-property babel transform for themes (#19883) * Drop support for iOS < 15.7 (#19847) * FIX: Validate tags parameter of TopicQuery (#19830) * FEATURE: Verify email webhook signatures (#19690) * FIX: Display Discourse onebox tag icon properly in chat * DEV: extract anniversary badge query (#19716) * DEV: Revert syntax-tree line change in unicorn.conf.rb listen (#19874) * FIX: Fix incorrect hashtag setting migration (#19857) * FIX: Use hashtags in channel archive PMs if available (#19859) * UX: fix alignment issues with autocomplete (#19828) * DEV: Prevent defer stats exception when thread aborted (#19863) * DEV: Introduce `enable_new_notifications_menu` site setting (#19860) * Build(deps): Bump eslint in /app/assets/javascripts (#19873) * Build(deps-dev): Bump parallel_tests from 4.0.0 to 4.1.0 (#19872) * Build(deps): Bump rubocop-rspec from 2.16.0 to 2.17.0 (#19866) * DEV: Update PostgreSQL and Redis versions (#19869) * DEV: adds row index support (#19871) * DEV: adds expandedOnInsert option to sk (#19870) * DEV: Key bundler CI cache on Ruby version (#19868) * DEV: Add Ruby 3.2 to test matrix (#19862) * Build(deps): Bump message_bus from 4.3.1 to 4.3.2 (#19865) * Build(deps): Bump message-bus-client in /app/assets/javascripts (#19864) * DEV: Bump sprockets to include ERB kwargs fix (#19850) * DEV: Add option to disable rspec diff truncation ENV var (#19861) * FIX: Add migration to reindex invalid indexes (#19858) * Build(deps): Bump nokogiri from 1.13.10 to 1.14.0 (#19856) * FIX: Ensure poll extraction is not attempted if post body is absent (#19718) * FEATURE: Extend topic update API scope to allow status updates (#19654) * DEV: Update README to reflect that at least Ruby 3.1 is required (#19855) * FIX: Preload user sidebar attrs when `?enable_sidebar=1` (#19843) * FIX: Prevent concurrent updates to top_topics (#19854) * DEV: Make 'username' optional for bookmark notifications (#19851) * DEV: Added notification type for 'discourse-circles' (#19834) * DEV: Move back to web-push gem (#19849) * Bump minimum Ruby version to 3.1 (#19848) * FIX: Ruby 2 backward compatible plugin logout redirect (#19845) * Revert "DEV: Migrate existing cookies to Rails 7 format" * DEV: Migrate existing cookies to Rails 7 format * Build(deps): Bump @ember/render-modifiers in /app/assets/javascripts (#19832) * DEV: Fix typo in chat spec (#19836) * DEV: Fix chat sidebar system spec flaky (#19844) * DEV: DRY up PageObject::Topic and PageObject::Components::Composer (#19841) * DEV: Address TODOs for email Message-ID generation (#19842) * FIX: Fix flaky test resulting from PostAlerter keyword arguments (#19826) * DEV: Remove old TODO for chat webhooks (#19839) * DEV: Remove bookmark column ignores (#19838) * FEATURE: raise redirect avatar cache to 1 day (#19840) * FEATURE: add basic instrumentation to defer queue (#19824) * FIX: Regression in TopicTrackingState MessageBus message scope. (#19835) (#19837) * FIX: Regression in TopicTrackingState MessageBus message scope. (#19835) * FIX: Improve error reporting and failure modes for channel archiving (#19791) * DEV: Remove defunct TODOs (#19825) * DEV: Add search suggestions for tag-intersections (#19777) * UX: streamline avatar in topic list (#19829) * FEATURE: Show more context in Discourse topic oneboxes * FEATURE: Allow group owners promote more owners (#19768) * Version bump to v3.1.0.beta1 (#19822) * Version bump to v3.0.0 * FIX: Channel archive N1 when serializing current user (#19820) * Build(deps): Bump pry from 0.14.1 to 0.14.2 (#19807) * Build(deps-dev): Bump listen from 3.7.1 to 3.8.0 (#19808) * FIX: Error when publishing TopicTrackingState updates for certain topics (#19812) * Build(deps): Bump rubocop from 1.42.0 to 1.43.0 (#19818) * FIX: Make DBHelper.find build valid query (#19408) * Update translations (#19813) * DEV: Update .editorconfig to match new hbs rules (#19816) * DEV: Fix threading error when running jobs immediately in system tests (#19811) * DEV: Document group param for search endpoint (#19806) * UX: add btn-primary class on email confirm page (#19803) * FIX: Continue if checking themes if updating one fails (#19665) * UX: Change language from "Do Not Disturb" to "Pause Notifications" (#19800) * FIX: Replace all quote-like unicodes with quotes (#19714) * DEV: Add recent formatting commits to `.git-blame-ignore-revs` (#19799) * DEV: Do not include method definitions in serializer `attributes` * DEV: Apply syntax_tree formatting to `app/*` * UX: improve use of space for readability of admin email modal (#19797) * FIX: wrap plugin outlets on user preference page * DEV: Apply syntax_tree formatting to `lib/*` * DEV: Apply syntax_tree formatting to `db/*` * DEV: Apply syntax_tree formatting to `spec/*` * DEV: Apply syntax_tree formatting to `Gemfile` * DEV: Apply syntax_tree formatting to `config/*` * DEV: Apply syntax_tree formatting to `script/*` * FIX: Correctly support DiscourseEvent kwargs (#19788) * FIX: Do not error when anon user looks at secure upload for deleted post (#19792) * FIX: Disable image optimization in iOS Safari (#19790) * FIX: Error condition in SidebarSiteSettingsBackfiller (#19787) * Build(deps): Bump rspec-mocks from 3.12.1 to 3.12.2 (#19784) * Build(deps-dev): Bump rubocop-discourse from 3.0.2 to 3.0.3 (#19785) * Build(deps): Bump jsdom from 20.0.3 to 21.0.0 in /app/assets/javascripts (#19786) * Build(deps): Bump rspec-expectations from 3.12.1 to 3.12.2 (#19783) * DEV: Apply syntax_tree formatting to `plugins/*` * DEV: Introduce syntax_tree code formatter (#19775) * FIX: Don't change the default allowed_attribute when calling #sanitize_field (#19770) * FIX: Bump messagebus to v4.3.1 (#19771) * FIX: render_404 is not defined (#19769) * FEATURE: Allow `target` attribute in links in user_field descriptions (#19102) * DEV: Include message-bus request type in HTTP request data (#19762) * PR reviews * DEV: Experiment plugin api to add custom count to category section link * DEV: Specify slug name during Category fabrication * FIX: Link to category settings should use slug * FIX: Improve tags in email subjects and add filter headers (#19760) * DEV: Remove unused locale * FIX: Do not error if autogenerated channel slug is blank (#19759) * DEV: Re-enable chat transcript nested system spec (#19758) * DEV: Remove unused locale (#19764) * FIX: use reviewer's guardian permissions to create post/topic while approve. (#19710) * DEV: Fix syntax/formatting in xenforo import script (#19761) * DEV: Change system spec JS log level to SEVERE by default (#19757) * Version bump to v2.8.14 (#19755) * SECURITY: BCC active user emails from group SMTP (#19724) * Revert "SECURITY: BCC active user emails from group SMTP (#19724)" * Revert "Version bump to v2.8.14 (#19755)" * Version bump to v2.8.14 (#19755) * Version bump to v3.0.0.beta16 (#19751) * SECURITY: BCC active user emails from group SMTP (#19724) * Revert "SECURITY: BCC active user emails from group SMTP (#19724)" * SECURITY: Convert send_digest to a post request (#19748) * SECURITY: use rstrip instead of regex gsub to prevent ReDOS (#19738) * SECURITY: Delete email tokens when a user's email is changed or deleted (#19736) * SECURITY: Check the length of raw post body (#19734) * SECURITY: escape quotes in tag description when rendering (#19731) * SECURITY: Don't expose user post counts to users who can't see the topic (#19729) * SECURITY: Sanitize PendingPost titles before rendering to prevent XSS (#19727) * SECURITY: BCC active user emails from group SMTP (#19724) * DEV: Increase Capybara.default_max_wait_time on github actions (#19750) * DEV: Use ruby-2.7 for stable branch CI (#19749) * SECURITY: Convert send_digest to a post request (#19746) * FEATURE: Make experimental hashtag autocomplete default for new sites (#19681) * FIX: Bookmark auto delete preference usage and default value (#19707) * DEV: Update json5, remove an unused lockfile (#19732) * SECURITY: use rstrip instead of regex gsub to prevent ReDOS (#19737) * SECURITY: Delete email tokens when a user's email is changed or deleted (#19735) * SECURITY: Check the length of raw post body (#19733) * SECURITY: escape quotes in tag description when rendering (#19730) * SECURITY: Don't expose user post counts to users who can't see the topic (#19728) * SECURITY: Sanitize PendingPost titles before rendering to prevent XSS (#19726) * SECURITY: BCC active user emails from group SMTP (#19725) * Build(deps): Bump @babel/core in /app/assets/javascripts (#19723) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#19722) * Build(deps): Bump excon from 0.95.0 to 0.96.0 (#19721) * Build(deps): Bump unicode-display_width from 2.4.0 to 2.4.2 (#19720) * PERF: Use user-specific channel for message-bus logout (#19719) * Build(deps-dev): Bump simplecov from 0.21.2 to 0.22.0 (#19626) * UX: more descriptive sidebar titles, casing (#19717) * UX: fix the positioning of topic admin popup menu (#19713) * Build(deps): Bump racc from 1.6.1 to 1.6.2 (#19625) * DEV: Add chat system spec for multi-file upload (#19709) * DEV: adds basic sorting to avoid flakey test (#19711) * UX: Remove unused strings (#19701) * DEV: Flip primary_email_verified? default to false (#19703) * DEV: Refactor autocomplete scrolling element detection (#19706) * DEV: Fix a flaky test (#19705) * Build(deps): Bump unicode-display_width from 2.3.0 to 2.4.0 (#19700) * Build(deps): Bump parser from 3.1.3.0 to 3.2.0.0 (#19699) * Build(deps-dev): Bump bullet from 7.0.5 to 7.0.7 (#19698) * DEV: Fix syntax error in spec file (#19702) * FIX: Check that the node has a src attr when getting size (#19696) * DEV: slightly increase wait to avoid flakey tests (#19695) * UX: fix for misalignment in autocomplete (#19693) * Update translations (#19692) * DEV: Refactor whispers_allowed_groups_names (#19691) * DEV: Update copyright year in README (#19689) * DEV: attempts to move all Jobs.run_immediately! at top (#19688) * Version bump to v3.0.0.beta15 (#19685) * DEV: Skip all chat specs with Jobs.run_immediately! (#19684) * FIX: more stable system tests (#19678) * DEV: Update bundler to 2.4.1 (#19662) * Build(deps): Bump puma from 6.0.1 to 6.0.2 (#19679) * PERF: Avoid running redundant bookmarks query for anon viewing topic (#19659) * PERF: Memoize topic level checks in PostGuardian (#19647) * PERF: Remove redundant DB queries from `TopicView` (#19658) * FIX: correctly uses request_uri to generate load_more_url (#19680) * FIX: at this point in time component can be destroyed (#19677) * FIX: correctly always return a promise from loadMore (#19676) * PERF: Make chat mention notifications async. (#19666) * DEV: enables threadsafe for system tests * FIX: ensures loading more doesn’t erase filter on browse (#19675) * Build(deps): Bump mini_portile2 from 2.8.0 to 2.8.1 (#19624) * Build(deps): Bump rack from 2.2.4 to 2.2.5 (#19628) * Build(deps): Bump css_parser from 1.12.0 to 1.13.0 (#19668) * Build(deps): Bump highline from 2.0.3 to 2.1.0 (#19669) * Build(deps): Bump rubocop from 1.41.1 to 1.42.0 (#19670) * Build(deps-dev): Bump bullet from 7.0.4 to 7.0.5 (#19671) * Build(deps): Bump eslint in /app/assets/javascripts (#19672) * Build(deps-dev): Bump minitest from 5.16.3 to 5.17.0 (#19673) * Build(deps): Bump json5 from 2.2.1 to 2.2.2 (#19657) * DEV: Add labels for plugin locale files (#19664) * Update translations (#19663) * DEV: moves channel-archive-status to channels subscriptions (#19567) * FIX: Update nginx config for v1.23 (#19651) * DEV: Skip s3 asset deletion when in readonly mode (#19611) * DEV: add .ruby-version to .gitignore (#19661) * DEV: Improve/Fix script/bench.rb (#19646) * Build(deps): Bump rubocop-ast from 1.24.0 to 1.24.1 (#19656) * FIX: Do not show push notification banner for MacOS (#19655) * DEV: Update group moderator behavior to better mimic staff (#19618) * FIX: Add missing email template for `user_watching_category_or_tag` (#19653) * DEV: removes chat-channel-settings-row (#19650) * FIX: various fixes to channel archive status (#19649) * FIX: show status on mentions on just posted posts (#19639) * Build(deps-dev): Bump ruby-prof from 1.4.4 to 1.4.5 (#19645) * FIX: Avoid race conditions when toggling presence state (#19648) * DEV: Move `eslint-config-discourse` to `devDependencies` (#19641) * FIX: cancels fetching messages when pane is destroyed (#19642) * Build(deps): Bump @babel/core in /app/assets/javascripts (#19595) * FIX: DButton ellipsis argument (#19640) * DEV: Add extra whitespace to tidy up prettified templates * DEV: Apply prettier to hbs files * DEV: Configure prettier for hbs templates * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#19622) * Build(deps): Bump web-push from `9b1ab76` to `369df8f` (#19635) * PERF: Ignore repeated PresenceChannel leave/join calls (#19638) * Update translations (#19633) * DEV: Print system test logs with other test metadata (#19637) * DEV: Update minimum and recommended ruby versions (#19615) * FIX: Show topic titles in deleted-posts (#19610) * FIX: Gracefully handle DNS issued from SSRF lookup when inline oneboxing (#19631) * DEV: Enable concurrent system tests (#19632) * PERF: Optimize the performance of `TopicLink.topic_map` query (#19630) * FIX: removes missed chat_channels legacy paths (#19634) * DEV: Use WebPush fork for OpenSSL 3 compat (#19627) * FEATURE: Warn admins about private group name's exposure to anonymous users. (#19557) * PERF: Fix N+1 queries problem on topic view page (#19629) * UX: Improve copy for contact email and url description (#19621) * DEV: Label and ignore all default gems (#19617) * FIX: correctly allows admin to visit a user chat's preferences page (#19619) * FIX: correctly handles navigating to a message (#19614) * FIX: Whisper tooltip shows the allowed groups (#19509) * DEV: Update bundler `licensed` config (#19607) * DEV: Stop leaking state in dashboard controller specs (#19608) * DEV: Deprecate `controllerFor` test helper (#19606) * FIX: more reliable archive channel spec (#19605) * DEV: Add upload system specs for chat (#19604) * FIX: ensures recovering network doesn't create unread mentions (#19597) * FIX: Workaround a bug in the R2 gem (#19602) * FIX: Admin can't see user sidebar preferences of other users (#19570) * DEV: permission type for private category fabricator (#19601) * DEV: Fix new features notification flakey specs (#19596) * DEV: Make recent creation of chat index idempotent (#19603) * FIX: flakey spec due to autocomplete (#19598) * FIX: increment wait to prevent a specific flakey spec (#19599) * FIX: Autocomplete fadeout arrow key chat fix (#19600) * DEV: Move chat transcript tests into system specs (#19434) * FIX: Allow for nested chat transcripts (#19572) * DEV: Fix hashtag system spec flakys (#19574) * FIX: Ensure we have a patched version of CGI gem (#19588) * DEV: more reliable send message helper (#19594) * Build(deps): Bump rubocop from 1.41.0 to 1.41.1 (#19590) * PERF: Fix N+1 queries on /categories route (#19585) * PERF: Remove unnecessary query from `TopicQuery.remove_muted_tags` (#19586) * UX: switch webkit to pseudoelement for fadeout (#19587) * UX: Setup wizard copy changes and vertically stack logo fields (#19583) * DEV: Do not print verbose `console.debug` messages in system specs (#19581) * DEV: Improve performance of system test `sign_in` helper (#19579) * DEV: mute audio in system specs (#19578) * FIX: re-enables using_session tests (#19564) * DEV: Modernize chat's component tests (#19577) * DEV: Load SVG sprites during system spec runs (#19497) * DEV: Get rid of all discourseModule uses (#19576) * FIX: prevents playing chat sound when in DnD (#19575) * FIX: styles of user status on mentions (#19563) * Build(deps): Bump @ember/test-helpers in /app/assets/javascripts (#19566) * FIX: Autocomplete arrow scroll for mention (#19571) * FIX: prevents creating a null User object (#19569) * FIX: Sidebar preferences link shown when navigation menu is legacy (#19568) * FIX: triggers update last read when message is not staged (#19565) * PERF: Fix N+1 queries when serializing topic posters (#19545) * PERF: Stop serializing user in `ChatChannelSerializer#current_user_membership` (#19527) * FIX: Prometheus plugin expects webrick in production (#19562) * FIX: corrects a regression with last_read_message_id (#19553) * DEV: Pass kwargs to defined method (#19552) * FIX: allows an admin to access users preferences (#19559) * DEV: Correct private-fork -> private-mirror (#19560) * DEV: Skip 'push' workflow events for discourse-private-mirror (#19556) * DEV: Fix FinalDestination::Resolver race condition (#19558) * FIX: correctly sorts public channels (#19555) * DEV: Add retry logic to `plugin:install_all_official` (#19551) * UX: Temporarily revert autocomplete highlight change (#19554) * FIX: better chat-api error handling (#19550) * FIX: prevents chat-api to generate double slash URLS (#19549) * DEV: Add logging for flaky FinalDestination spec (#19548) * FIX: Quoting a mention with status emoji breaks the mention (#19530) * DEV: Add default results option to user-chooser (#19521) * DEV: start glimmer-ification and optimisations of chat plugin (#19531) * DEV: Remove fabrication hack for staff (#19528) * FIX: Hashtag autocomplete scrolling arrow keys with fadeout (#19541) * FIX: Include tags inside tag groups for hashtag search (#19539) * DEV: Ruby 3.1 compat (#19543) * FIX: responsive buttons and wider content container (#19542) * DEV: Fix TurboTests::Runner fail_fast condition (#19540) * DEV: Properly include spec examples (#19532) * Build(deps): Bump puma from 6.0.0 to 6.0.1 (#19537) * Build(deps): Bump rubocop from 1.40.0 to 1.41.0 (#19536) * DEV: Fix png optimization test flakyness (#19535) * DEV: Bump rubocop-discourse from 3.0 to 3.0.1 (#19534) * Update translations (#19533) * UX: update classname to something non-conflicting (#19529) * FIX: Do not return muted child categories termless hashtag search (#19526) * FIX: TL0 could not message group with everyone messageable_level (#19525) * UX: Wizard Step Enhancements (#19487) * DEV: Remove flaky hashtag test (#19524) * PERF: Use `MessageBus.last_ids` instead of `MessageBus.last_id` for chat (#19523) * FEATURE: add user toggle to mask/unmask passwords (#19306) * PERF: Remove unnecessary SQL UNION query when search public channels (#19515) * Build(deps-dev): Bump ruby-prof from 1.4.3 to 1.4.4 (#19522) * PERF: Add index for chat unread counts query (#19516) * DEV: Skip push notifications for active online users (#19502) * DEV: Promote historic post_deploy migrations (#19496) * FIX: Don't assume a clean slate in tests (#19499) * FIX: Don't validate channel slug if it hasn't changed (#19498) * Build(deps): Bump ember-qunit in /app/assets/javascripts (#19519) * UX: Redesign and refactor penalty modals (#19458) * Build(deps): Bump net-http from 0.2.2 to 0.3.2 (#19518) * FIX: box-sizing for avatars (#19517) * UX: Hashtag autocomplete styling (#19426) * DEV: Update `@ember/test-helpers` and fix chat test (#19495) * PERF: Remove unnecessary DB queries when preloading for chat (#19514) * FIX: discourse-follow notification types (#19513) * DEV: Change HashtagAutocompleteService to use DiscoursePluginRegistry (#19491) * DEV: Skip flaky tests (#19511) * DEV: Add missing test case (#19510) * FIX: Add missing user_id args for ChatMessage.cook (#19508) * FIX: access to category chat only when user can create post (#19488) * Build(deps): Bump sass from 1.56.2 to 1.57.0 in /app/assets/javascripts (#19507) * Build(deps): Bump eslint in /app/assets/javascripts (#19506) * Build(deps-dev): Bump shoulda-matchers from 5.2.0 to 5.3.0 (#19505) * Build(deps): Bump rack-protection from 3.0.4 to 3.0.5 (#19503) * Build(deps): Bump rspec-expectations from 3.12.0 to 3.12.1 (#19504) * DEV: Fix YAML load in new Ruby (#19500) * DEV: Remove enable_whispers site setting (#19196) * DEV: drop tagName and connectorTagName on timeline controls plugin outlets * DEV: add topic timeline plugin outlets * FIX: a string usage that was lost during git merge (#19493) * FEATURE: Onebox for Embed Motoko (#19293) * UX: rename "Do Not Disturb" to "Pause Notifications" (#19483) * FEATURE: integrate DnD with user status (#19410) * DEV: Promote historic post_deploy migrations (#19492) * DEV: Add helpers for system testing in plugins (#19421) * Build(deps): Bump sinon from 15.0.0 to 15.0.1 in /app/assets/javascripts (#19485) * FIX: Remove magic time ranges (#19477) * FEATURE: Add support for desktop push notifications in core (#19375) * DEV: Remove use of deprecated methods (#19486) * FIX: Allow backspace into hashtag autocomplete (#19489) * FIX: Scroll autocomplete container on arrow press (#19478) * FIX: Remove user_option saving for bookmark auto delete pref (#19476) * DEV: add title class name, prefix username class (#19482) * FIX: FIX: Correctly parse Mandrill webhooks (#17116) * UX: Add tooltip why file upload is disabled (#19471) * Build(deps): Bump rotp from 6.2.1 to 6.2.2 (#19473) * FEATURE: Send notifications to admins when new features are released (#19460) * UX: change color of preview card in channels (#19480) * FIX: Add REPLACEMENTS icons to styleguide * Build(deps): Bump faraday from 2.7.1 to 2.7.2 (#19474) * FEATURE: Sort hashtags starting with term higher priority (#19463) * DEV: Fake sleeping in distributed mutex tests (#19472) * DEV: Update Twitter meta tags while navigating in app (#19468) * UX: update small action text to use sentence case (#19470) * FIX: email summary subject order should be consistent (#19469) * FIX: Use correct plural rules for Russian (#19467) * DEV: API to add classes to small actions (#19453) * DEV: Add hidden option to disable the lazy-yt plugin (#19448) * UX: add new boxshadow variation (#19450) * DEV: Reduce text-size cookie duration (#19445) * FEATURE: show user status on group pages (#19323) * FIX: Unable to change homepage style via wizard (#19462) * FIX: Do not duplicate check when editing chat message to remove uploads (#19432) * FEATURE: Chat and Sidebar are now on by default (#19406) * FEATURE: Differentiate notification type for directly vs indirectly watched topic (#19433) * DEV: Remove unused English text (#19452) * UX: change highlight colour (#19451) * FIX: Invalid route path for staff info warnings link (#19461) * FIX: properly count DistributedMutex locking attempts * Build(deps): Bump rails-html-sanitizer from 1.4.3 to 1.4.4 (#19456) * DEV: Export default category link renderer to be used on plugins and theme-components (#19455) * FIX: Remove console warning for "nohighlight" (#19447) * Build(deps): Bump rubocop-rspec from 2.15.0 to 2.16.0 (#19457) * Build(deps): Bump loofah from 2.19.0 to 2.19.1 (#19454) * DEV: Remove unused section from "Customize Theme" UI (#19449) * DEV: Compatibility with Ruby 3.2 (#19303) * FIX: Remove console warning for "nohighlight" (#19447) * Update translations (#19444) * user input adjustments (#19446) * FIX: Reset search controller state (#19402) * FIX: Make sure user status on mentions doesnt fail in plugins (#19442) * DEV: Modernize the remaining admin-webhooks parts (#19438) * REFACTOR: Update Message Format strings to make them easier to read on Crowdin (#19443) * FIX: GitHub onebox ellipsis styling regressed in 9d03f20 (#19441) * FIX: Restore missing text for `read_more` and `read_more_in_category` (#19440) * DEV: Remove deprecation config for ember-modifier (#19439) * Build(deps): Bump ember-modifier in /app/assets/javascripts (#19437) * DEV: Fix resolvedTimezone deprecation in chat-live-pane (#19436) * DEV: Fix github workflow system spec screenshot location (#19435) * DEV: Admin webhooks interface issues (#19360) * DEV: Delete tmp table from migration for invites (#19431) * DEV: Pass in site guardian for `Plugin::Instance.register_site_categories_callback` (#19430) * DEV: Use guardian user for can_chat? (#19418) * FEATURE: Add chat and sidebar toggles to the setup wizard (#19347) * Build(deps): Bump excon from 0.94.0 to 0.95.0 (#19429) * FIX: more specific class name to avoid collision (#19428) * UX: include space between elements in kbd tag (#19427) * UX: more consistent style for the new topic banner (#19405) * REFACTOR: Remove updated strings from locale files and translation overrides * REFACTOR: Reformat Message Format strings for better readability * REFACTOR: Replace unnecessary Message Format string * REFACTOR: Replace concatenated strings to simplify translation * REFACTOR: Update Message Format string to simplify translation * REFACTOR: Update Message Format string to simplify translation * FIX: Make sure generated tsqueries are valid (#19368) * DEV: Clean up all message bus subscriptions (#19268) * DEV: Drop helper context setup in tests (#19423) * DEV: Allow additional TopicList preloaded associations (#18891) * FIX: Multipart uppy upload regression in 80e422c (#19424) * DEV: Prefer `site` injection over import (#14982) * DEV: Update uppy to 3.x (#18219) * UX: Add lightbox information to max image width/height settings (#19422) * FIX: Ensure hashtag autocomplete is not behind keyboard in chat (#19419) * DEV: Use binding.pry instead of byebug for system pause_test (#19420) * FIX: Do not return channels for hashtags if user cannot chat (#19417) * DEV: Flush redis db after each system test (#19415) * UX: Exclude child catgegories of muted category in similar to search (#19414) * DEV: adds native support for mobile in system tests (#19400) * Build(deps): Bump rspec-mocks from 3.12.0 to 3.12.1 (#19412) * Build(deps): Bump sass from 1.56.1 to 1.56.2 in /app/assets/javascripts (#19413) * DEV: Use isSecureContext for service worker registrations (#19407) * Make explicit that title and desc are public (#19403) * DEV: relocate `:root` CSS custom properties (#19389) * FIX: Broken images on subfolder installs (#19404) * FIX: broken emoji url on password reset w/ subfolder (#19373) * Update translations (#19401) * DEV: Re-enable hashtag system specs (#19396) * UX: Omit instruction note when `email_time_window_mins` is off (#19385) * DEV: Fix flaky category hashtag spec (#19397) * FIX: new pm notification should take precedence over mention (#19391) * Build(deps): Bump rubocop from 1.39.0 to 1.40.0 (#19388) * FIX: Server-side hashtag lookups of secure categories for a user (#19377) * DEV: Update copy for `navigation_menu` site setting (#19390) * FIX: correctly hides admin settings in channel settings (#19384) * Build(deps): Bump nokogiri from 1.13.9 to 1.13.10 (#19376) * Remove negative margin on wizard preview (#19381) * Build(deps): Bump net-protocol from 0.2.0 to 0.2.1 (#19386) * FEATURE: Allow category moderators to set auto deletion topic timers (#19383) * FIX: Show last match time of screened IP address (#19382) * FEATURE: Show similar users when penalizing a user (#19334) * DEV: introduces `pause_test` system tests helper (#19378) * FIX: Admin webhook regression in 321b14d (#19379) * FEATURE: Optionally allow a separate `s3_asset_cdn_url` to be specified (#19284) * FEATURE: Allow showing hashtag autocomplete results without term (#19219) * DEV: Migrate sidebar site settings (#19336) * UX: improve nav for user messages on small screens (#19362) * DEV: Add system test for updating color scheme of a theme (#19370) * FIX: do not provide advice regarding GDPR compliance (#19358) * DEV: Update error message string (#19366) * FIX: Add translation for setting (#19372) * DEV: Skip hashtag system specs for now (#19371) * FIX: Duplicate hashtag lookup results based on permissions (#19337) * DEV: Unhide enable_experimental_hashtag_autocomplete (#19369) * DEV: Update redis gem to 4.8.0 (#19350) * Build(deps): Bump public_suffix from 5.0.0 to 5.0.1 (#19364) * Build(deps-dev): Bump test-prof from 1.0.11 to 1.1.0 (#19365) * FEATURE: better UI to manage 2fa (#19338) * FIX: Use correct property for theme's `color_scheme_id` (#19363) * PERF: Perform only one category update when creating a new topic (#19361) * FIX: Do not reset seen popups when skip_new_user_tips is false (#19345) * PERF: Improve `Accept` header handling for stylesheets and theme-js (#19357) * UX: Adjust emoji size in mentions (#19355) * REFACTOR: Make chat summary email notifications easier to translate (#19354) * DEV: Support colocation under `/admin` namespace in themes/plugins (#19353) * FIX: profile page is not loading (#19351) * DEV: Replace preferences/username route with a component (#19318) * UX: Exclude search ignored and user muted categories in similarity search (#19349) * Update server.en.yml (#19348) * FIX: error when opening a previously deleted post (#19346) * DEV: Render the scroll area at correct times (#19333) * DEV: Update inappropriate flag text (#19344) * FIX: webhook should touch channel’s last_message_sent_at (#19342) * FEATURE: Enforce mention limits for chat messages (#19034) * FIX: uses CDN when available for chat mp3 sounds (#19341) * Update translations (#19340) * FEATURE: Show live user status on inline mentions on posts (#18683) * FEATURE: Youtube Short onebox support (#19335) * FIX: URL fragments not purging (#19324) * FIX: Update match_count of screened IP address (#19321) * FEATURE: Allow user_status scope for UserApiKey (#19296) * DEV: Add messages_count to ChatChannel table (#19295) * Build(deps): Bump timeout from 0.3.0 to 0.3.1 (#19325) * Build(deps): Bump uri from 0.11.0 to 0.12.0 (#19326) * Build(deps): Bump digest from 3.1.0 to 3.1.1 (#19327) * Build(deps): Bump json from 2.6.2 to 2.6.3 (#19328) * Build(deps): Bump net-protocol from 0.1.3 to 0.2.0 (#19330) * Build(deps): Bump racc from 1.6.0 to 1.6.1 (#19331) * DEV: Correct order of triggering topic trashed and recovered event (#19313) * FIX: new message brings a direct message channel to the top (#19332) * FIX: nullify active channel only when not on a chat channel (#19319) * Fix timeline admin menu button spacing (#19322) * FIX: Only modify secured sidebar links on user promotion/demotion (#19141) * FEATURE: Improve composer warnings for mentions (#18796) * DEV: htmlSafe timeline topic title (#19320) * DEV: Remove user options from current user serializer (#19089) * FEATURE: channels can allow/disallow @all/@here mentions (#19317) * DEV: use structured data in topic-list for referencing only (#16235) * DEV: Fix multiple set-cookie through Ember-CLI proxy (#19316) * UX: refactor & update small post styles (#19274) * FIX: Don't force show topic map on non-first posts (#19302) * DEV: Remove unused i18n keys (#19312) * FIX: ensures chat channel metadata date is updated (#19314) * DEV: Document `ALLOW_EMBER_CLI_PROXY_BYPASS` in error page (#19315) * Build(deps): Bump decode-uri-component in /app/assets/javascripts (#19311) * Build(deps): Bump terser in /app/assets/javascripts (#19309) * Build(deps): Bump eslint in /app/assets/javascripts (#19307) * FEATURE: Add experimental plugin API to register messages nav dropdown (#19294) * FIX: user menu bug when transit from narrow screen (#19310) * Build(deps-dev): Bump selenium-webdriver from 4.6.1 to 4.7.1 (#19308) * DEV: Remove discobot pm scrolling code (#19300) * UX: add target to start discussion link (#19291) * FIX: deactivate is not called in every cases (#19301) * DEV: Remove unused new-user-narrative code (#19299) * DEV: glimmerify chat-channel-row (#19287) * SECURITY: Restrict unlisted topic creation (#19258) * FIX: Include CDN in result of `avatarUrl` helper (#19298) * DEV: Update cache lifetime in user_avatars spec (#19297) * PERF: Add GlobalSetting to redirect avatars instead of proxying (#19281) * FIX: change drupal permalink creation to use /node/ * UX: Improve UI of group delete dialog (#19292) * FIX: Fix failing spec caused by unpersisted user instance (#19288) * DEV: Simplify new user page nav messages dropdown. (#19289) * FIX: Ensure chat channel slug uniqueness at DB level (#19277) * DEV: handle ember-cli test proxying for relative roots * FIX: Add MessageBust.last_id to chat channel subscriptions (#19255) * DEV: Port `user-private-messages` controller to native class (#19285) * FIX: relative URL routing on ember-cli only page * FIX: Watched words replacement emoji render (#19171) * DEV: Upgrade Topic Timeline to Glimmer (#17377) * FIX: Don't update url in GitImporter (#19273) * FIX: Observe unlisted topic creation restrictions in post creator specs (#19283) * UX: removes silence from chat message actions (#19282) * UX: chat index refactor (#19264) * PERF: do not cancel debounce and prevents popper on scroll (#19280) * SECURITY: Restrict unlisted topic creation (#19259) * FIX: Email hashtag-cooked text replacement error (#19278) * FIX: Do not replace hashtag-cooked text with WatchedWords (#19279) * DEV: Centralise logic for updating sidebar section links (#19275) * DEV: Group and nest routes in `userPrivateMessages` into child routes (#19190) * FIX: Handle null svg class for excerpt parsing (#19276) * FIX: Exclude claimed reviewables from user menu (#19179) * FEATURE: Separate notification indicators for new PMs and reviewables (#19201) * Build(deps-dev): Bump @embroider/test-setup in /app/assets/javascripts (#19272) * DEV: Run system tests with documentation and profiling on actions (#19271) * FIX: horizontal scrolling was not working correctly (#19236) * Build(deps): Bump rubocop-ast from 1.23.0 to 1.24.0 (#19270) * FIX: When following redirects before cloning, use the first git request (#19269) * DEV: Add link rel preload to theme-javascripts (#19231) * DEV: Colocate all chat component templates (#19266) * FIX: Validate unsubscribe key has an associated user (#19262) * Revert "DEV: Clean up all message bus subscriptions (#18675)" (#19267) * FIX: ScrollingPostStream regressed in #15313 (#18584) * DEV: Enable `@cached` decorator for themes and plugins (#19261) * DEV: Clean up all message bus subscriptions (#18675) * DEV: Remove unused `render()` calls (#19224) * Build(deps): Bump ember-source in /app/assets/javascripts (#19265) * Build(deps): Bump eslint-plugin-qunit in /app/assets/javascripts (#19263) * PERF: Update `Group#user_count` counter cache outside DB transaction (#19256) * DEV: Support theme/plugin overrides of colocated component templates (#19237) * FIX: Show chat channel info on reviewable items (#19260) * FIX: Allow reviewable-item components to be template-only (#19257) * FIX: margin for sidebar and revamped user menu on iPad (#19254) * FIX: Allow svg in oneboxer in certain cases (#19253) * Build(deps): Bump @babel/core in /app/assets/javascripts (#19250) * Build(deps): Bump ember-auto-import in /app/assets/javascripts (#19252) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#19251) * Build(deps-dev): Bump @embroider/test-setup in /app/assets/javascripts (#19248) * Build(deps): Bump sinon from 14.0.2 to 15.0.0 in /app/assets/javascripts (#19249) * Build(deps): Bump stackprof from 0.2.22 to 0.2.23 (#19247) * FIX: Improve message when posting a duplicate link (#19245) * FIX: Don't notify of post deletion when agreeing with automatic flags. (#19241) * Version bump to v2.8.13 (#19244) * Version bump to v2.9.0.beta14 (#19242) * SECURITY: Filter tags in user notifications for visibility * FIX: When filtering tags for visibility, respect tag group permissions (#19152) * SECURITY: Filter tags in user notifications for visibility (#19239) * FIX: Show error message if no uploads are allowed (#19133) * Update translations (#19238) * FEATURE: Track API and user API requests (#19186) * DEV: Remove `Ember.TEMPLATES` and centralize template resolution rules (#19220) * UX: Align user page dismiss notifications btn with new navigation (#19235) * FIX: Allow hashtag autocomplete at start of line (#19216) * FIX: consistent narrow desktop width (#19232) * Build(deps): Bump rack-protection from 3.0.3 to 3.0.4 (#19230) * Build(deps): Bump engine.io in /app/assets/javascripts (#19233) * FIX: PMs displaying outdated unread counts when read status is processing (#19217) * Build(deps-dev): Bump bullet from 7.0.3 to 7.0.4 (#19229) * FIX: do not apply hover state to non capable devices (#19228) * UX: Add instructions for multiple category emails (#19221) * DEV: skip breaking tests (#19226) * UX: chat index UX fixes (#19227) * Fixes for vBulletin bulk importer (#17618) * FIX: ensures date/time don't linebreak (#19225) * DEV: Only patch bootbox methods once in tests (#19222) * UX: reworks channel index (drawer and mobile) (#18892) * FEATURE: Deleting a user with their posts also deletes chat messages. (#19194) * DEV: Xenforo importer improvements (#18457) * FEATURE: Add import script for Elgg (#19140) * FIX: Unsilence users on chat message flag disagree. (#19198) * FIX: prevents audio to play when appended (#19199) * FIX: Backport invite fixes from main (#19218) * FIX: toggle sidebar when back from narrow screen (#19215) * Version bump to v2.8.12 (#19214) * Version bump to v2.9.0.beta13 (#19212) * Revert "Version bump to v2.9.0.beta13 (#19210)" (#19211) * SECURITY: Limit chat message char length (#19207) * Version bump to v2.9.0.beta13 (#19210) * SECURITY: Hide notifications for inaccessible topics (#19209) * SECURITY: Hide notifications for inaccessible topics (#19208) * Build(deps): Bump parser from 3.1.2.1 to 3.1.3.0 (#19206) * Build(deps): Bump bootsnap from 1.14.0 to 1.15.0 (#19203) * Build(deps): Bump jmespath from 1.6.1 to 1.6.2 (#19205) * Build(deps): Bump image_optim from 0.31.1 to 0.31.2 (#19204) * DEV: removes select-kit deprecation (#19200) * FIX: ensures chat sidebar is present when core sidebar is disabled (#19197) * FIX: prevents drawer error when resizing core composer (#19195) * UX: alters chat icon behavior on drawer and mobile (#19192) * FIX: Use correct Regexp flag to ignore case (#19184) * REFACTOR: naming and state refactor (#19187) * FIX: Push category hashtag slug match to top (#19174) * FEATURE: sidebar for narrow desktop screen (#19160) * DEV: Refactor messages code to use `user.groupsWithMessages` function (#19189) * FIX: Existing users were mistakenly unable to redeem invite (#19191) * PERF: stop downloading images from post processor and lean on uploads * DEV: Publish reviewable claimed topic message to groups instead of users (#19188) * UX: Show educational messages for the likes tab when it's empty (#19180) * DEV: Add useful error message for hbs register_asset (#19185) * Build(deps-dev): Bump @embroider/test-setup in /app/assets/javascripts (#19170) * Build(deps): Bump terser in /app/assets/javascripts (#19183) * DEV: Update terser (#19109) * FIX: Pass period filter to plugin outlet (#19182) * DEV: Add hint about Rails-generated `<head>` to ember-cli HTML (#19181) * FEATURE: User Status API (#19149) * FEATURE: Allow setting `default_enabled` for badges (#19178) * DEV: Cleanup legacy asset compilation gems and code (#19177) * DEV: Support passing relative URLs CSP builder (#19176) * FIX: Minor hashtag autocomplete fixes (#19173) * DEV: Explicitly define primary_email_verified? method for managed authenticators (#19127) * FIX: Experimental hashtag search result matching and limit fixes (#19144) * UX: improve mention styling, simplify (#19169) * DEV: Simplifying rendering of secondary nav links for group inbox (#19164) * DEV: add spec where missing upload doesn't fail a theme's CSS precompilation (#19075) * DEV: Remove old event preventDefault hack (#19168) * DEV: Correct plugin-compilation connector template module path (#19165) * DEV: Update `namespaceModules` argument name (#19166) * DEV: Make summary subject logic more explicit (#19167) * DEV: Fix chat_allowed_groups migration (#19163) * FEATURE: Add descriptions on hover for hashtag search results (#19162) * FIX: Do not click track .hashtag-cooked (#19159) * FIX: Set chat_allowed_groups based on chat_enabled setting (#19146) * UX: Styling backwards compatibility for old user page navigation (#19161) * FIX: Unescape :emoji: in hashtag search results (#19147) * UX: Style adjustments & addition of login button on admin invite page (#19073) * Build(deps): Bump engine.io in /app/assets/javascripts (#19151) * Build(deps): Bump eslint-plugin-qunit in /app/assets/javascripts (#19158) * UX: use solid envelope icon for consistency (#19157) * UX: improve mention styling (#19156) * FIX: Filtering rows of S3 inventory files was too strict (#19153) * Update translations (#19155) * UX: Update "education.dominating_topic" and raise default percentage (#19154) * FIX: When filtering tags for visibility, respect tag group permissions (#19152) * FEATURE: Allow staff to flag chat messages (#18919) * Update translations (#19150) * A11Y: Improve "my posts" sidebar link title (#19132) * FIX: Update link in `group_in_subject` site description (#19148) * FIX: Delete associated channel upon category deletion * UX: ensures browse view input is focused on page load (#19137) * FIX: allows to change sound when no sound was ever set (#19136) * FIX: Revert to old hashtag style for hashtag-raw (#19145) * DEV: Minor hashtag to-markdown fix (#19142) * A11Y: improved titles for chat in the sidebar (#19134) * DEV: Centralise user preferences security test into a single file (#19121) * A11Y: add title & aria-expanded for sidebar toggle (#19130) * DEV: Avoid hard-coded values in topic tracking state spec (#19139) * DEV: Add tests for sidebar accessibility changes (#19138) * A11Y: Improve the accessibility of sidebar content (#19131) * FIX: do not add color style if no prefixColor (#19123) * Build(deps): Bump bootsnap from 1.13.0 to 1.14.0 (#19135) * FEATURE: Sync user tips status between client (#19095) * FIX: Amend `release_notes_link` in app/models/admin_dashboard_general_data.rb (#19125) * FIX: Amend `release_notes_link` in /tests/fixtures/dashboard-new-features.js (#19124) * FEATURE: API to customize server side composer errors handling in the client side (#19107) * FIX: Ensure DButton uses the correct target for string actions (#19126) * FIX: enable_auto_join_users was used in create channel (#19128) * UX: Do not automatically refresh page while composer is open (#19112) * UX: Removed tracked section link from Community section in Sidebar (#19122) * FIX: better chat-message-actions position (#19111) * FIX: Correct implementation for user preferences tracking page (#19119) * FIX: Tag ordering adjustment for new hashtag autocompletion (#19120) * DEV: Centralise user preferences account route tests into single file (#19118) * DEV: Centralise more user preferences tests into individual files (#19100) * FIX: Allow new hashtag HTML to be quoted to markdown (#19117) * Build(deps): Bump jsdom from 20.0.2 to 20.0.3 in /app/assets/javascripts (#19115) * Build(deps): Bump faraday from 2.7.0 to 2.7.1 (#19113) * Build(deps): Bump eslint from 8.27.0 to 8.28.0 in /app/assets/javascripts (#19114) * FEATURE: Add TL1 to chat_allowed_groups by default (#19116) * FEATURE: Generic hashtag autocomplete lookup and markdown cooking (#18937) * PERF: Speed up S3 inventory updates (#19110) * Build(deps): Bump message-bus-client in /app/assets/javascripts (#18944) * DEV: Modernize model tests (#19104) * more (#19106) * UX: padding adjustment for empty channel message (#19105) * FEATURE: API to update user's discourse connect external id (#19085) * DEV: Add test to check if user tips are saved once (#19084) * DEV: Move the recently added dev-deps to deps (#19103) * DEV: Fix lint failures (#19101) * DEV: Update ember-qunit to 6.0.0 (#19080) * Build(deps): Bump babel-plugin-ember-template-compilation (#19091) * DEV: Move 2FA preferences tests into individual files (#19099) * DEV: Move tests for user preferences change email into own file (#19097) * DEV: Split tests for user preferences security page into individual file (#19096) * FEATURE: hidden site setting to suppress unsecured categories from admins (#19098) * UX: reorganize user prefs for experimental user nav (#18764) * FIX: allow tl4 to bulk select (#19094) * Build(deps): Bump source-map in /app/assets/javascripts (#19090) * Build(deps): Bump babel-import-util in /app/assets/javascripts (#19086) * DEV: Bump chrome-launcher (#19082) * FIX: hides user card button when current user can't DM (#19093) * DEV: Bump chrome-remote-interface (#19083) * DEV: Bump Dependabot's bundler PR limit (#19081) * Build(deps): Bump puma from 5.6.5 to 6.0.0 (#18613) * DEV: Add dark theme support to QUnit (#19014) * DEV: Convert `SiteSettings` to a tracked object (#19015) * Build(deps): Bump sidekiq from 6.5.7 to 6.5.8 (#19078) * UX: user message controls need some padding (#19079) * Build(deps): Bump mini_scheduler from 0.14.0 to 0.15.0 (#19076) * Build(deps): Bump pg from 1.4.4 to 1.4.5 (#19074) * Build(deps): Bump message_bus from 4.2.0 to 4.3.0 (#18922) * Disable ember-cli-based CI tests for stable branch * PERF: Update `s3:expire_missing_assets` to delete in batches (#18908) * Fix and improve `s3:expire_missing_assets` task (#18863) * PERF: Correct should_skip? logic in `s3:upload` (#18862) * DEV: Convert DButton to a Glimmer Component (#17767) * FEATURE: Stop hiding “allow archiving channels” setting * UX: better email login pages (#19058) * FIX: Invite redemption error if user had already redeemed (#19070) * FIX: Bug with admin trust level growth report (#19050) * FIX: Regression with special `a` keyword in search (#19063) * DEV: remove unused CSS (#19069) * DEV: Added plugin outlet below user summary stats (#18968) * Build(deps): Bump regexp_parser from 2.6.0 to 2.6.1 (#19068) * FIX: Update user options only once (#19066) * Build(deps-dev): Bump rswag-specs from 2.7.0 to 2.8.0 (#19065) * UX: Mark pre-populated dropdowns as not required (#19064) * DEV: Bump `@mixer/parallel-prettier` (#19053) * Add search tip for `@me` shortcut (#19062) * A11Y: add live area for search menu, labels (#19061) * DEV: Bump pikaday (#19060) * DEV: Update node-fetch (#19059) * DEV: Add `withSilencedDeprecationsAsync` for async functions (#19057) * FIX: status was clearing after editing user preferences (#18887) * DEV: Modernise mixed test direction text-field to avoid deprecation (#19056) * FIX: Add Custom `Primary-Numbers` (#19055) * DEV: allow themes to more easily set border-radii (#19037) * DEV: Update moment-timezone (#19052) * DEV: Make dialog-holder a monorepo package (#19051) * DEV: Remove old "first notification" tutorial (#19036) * DEV: Make bootstrap-json a monorepo package (#19048) * Build(deps): Bump eslint in /app/assets/javascripts (#18933) * Update translations (#19033) * UX: redesign of chat settings + add chat retention info (#19017) * DEV: Move `shouldLoadPluginTestJs()` (#19045) * bump eslint-plugin-qunit from 6.2.0 to 7.3.2 in /app/assets/javascripts (#18927) * DEV: Convert user `...Categories` computed props to getters/setters (#19018) * DEV: Add unique ids to deprecations (#19019) * DEV: Deprecate `create-store` test helper (#19021) * DEV: Fix a flaky spec (#18995) * FIX: Support unicode in search filter @username (#18804) * DEV: Refactor `_warnCannotSeeMention()` (#19042) * DEV: Improve discourse-common/deprecate implementation (take 2) (#19032) * DEV: Fix a theme_js spec (#19043) * DEV: Make the `setupTests` a regular import (#19046) * DEV: Make more dependencies explicit (#19047) * UX: improves arrow support in chat emoji picker (#19038) * FIX: deprioritize reaction notifications (#19049) * FEATURE: deprioritize like notifications on all list (#19029) * Build(deps): Bump loader-utils in /app/assets/javascripts (#19044) * UX: move horiz nav margin to padding (#19041) * PERF: Adjust node memory threshold for assets:precompile (#19040) * Build(deps): Bump faraday from 2.6.0 to 2.7.0 (#19039) * DEV: Reinstate --single-branch when cloning themes (#19026) * FEATURE: Add user tips for post and topic features (#18964) * UX: force sidebar to occupy full height (#19035) * DEV: Add `discourse/tests` to jsconfig (#19031) * UX: add channel header offset to browse page height (#19030) * FEATURE: introduces `chat_max_direct_message_users` setting (#18997) * DEV: Document some more parms for the cat create api docs (#19024) * Build(deps): Bump sass from 1.56.0 to 1.56.1 in /app/assets/javascripts (#19022) * Build(deps): Bump webpack in /app/assets/javascripts (#19027) * Revert "DEV: Improve discourse-common/deprecate implementation (#18987)" (#19028) * FIX: Rename Users to Sign-Ups in About page (#19020) * FIX: Update GitImporter to match main (#18974) * FEATURE: Default Composer Category Site Setting (#18967) * DEV: Improve discourse-common/deprecate implementation (#18987) * FIX: prevents arrow keys to bubble into parents components (#19000) * PERF: limits use of redis cache while building emojis list (#19013) * FIX: only applies scroll position to full page (#19011) * Build(deps): Bump rubocop from 1.38.0 to 1.39.0 (#19012) * Build(deps): Bump faraday-net_http from 3.0.1 to 3.0.2 (#19003) * DEV: Skip a flaky FF test (#18996) * FIX: Allow sidebar links to register didInsert actions (#19010) * FIX: correctly opens drawer to message id when given (#18994) * FIX: ensures composer is focused after edit (#18999) * FIX: only checks for full page instead of preference (#18998) * Version bump to v2.8.11 (#19008) * Version bump to v2.9.0.beta12 (#19006) * SECURITY: Prevent email from being nil in InviteRedeemer (#19005) * SECURITY: Prevent email from being nil in InviteRedeemer (#19004) * Build(deps): Bump rack-protection from 3.0.2 to 3.0.3 (#19002) * Build(deps): Bump rotp from 6.2.0 to 6.2.1 (#19001) * DEV: Add `START_ID` to `uploads:downsize` task (#18992) * FIX: correctly highlights active channel (#18991) * FIX: Allow attr updates of over-size-limit uploads (#18986) * FEATURE: Replyable chat push notifications (#18973) * FIX: adds back recurring to send_message automation (#18990) * DEV: Bump `@actions/checkout` to v3 in frontend tests (#18989) * DEV: Update GitHub actions set-output uses (#18988) * FIX: reimplements chat audio into a service (#18983) * DEV: Convert the downsizing script to a rake task (#18976) * Build(deps): Bump jquery-rails from 4.5.0 to 4.5.1 (#18975) * UX: adds chat section in settings and hide it in plugins (#18984) * Build(deps): Bump node-fetch in /app/assets/javascripts (#18985) * FEATURE: Add cooked post to user archive exports (#18979) * FIX: Ensure moderators_manage_categories_and_groups is respected (#18884) * DEV: Add integration specs for Discord, Facebook and Twitter logins (#18941) * DEV: Remove bootbox from root `package.json` (#18860) * DEV: Bind connector actions when made available under `this` (#18981) * DEV: Add more page objects (#18972) * REFACTOR: handles every chat resource as an URL (#18961) * FIX: do not lock account if backup codes are available (#18982) * UX: more contrast for sidebar counts (#18980) * DEV: Only focus user card first link if not mouse input (#18960) * REFACTOR: chat-msgactions (#18969) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#18963) * DEV: Add category page object for plugin tests (#18971) * UX: better password reset error page (#18970) * FIX: Shrinking images where smaller image upload exists (#18965) * UX: tweaks to msg actions menu (#18966) * DEV: Require pry-byebug in development mode (#18952) * UX: Replace concatenated translation * DEV: Remove unused translation * UX: Fix spelling of "Sidekiq" * FIX: Permalinks issues (#18939) * FEATURE: Rename onboarding popups to user tips (#18826) * A11Y: Improve accessibility for saved status message (#18950) * Build(deps): Bump excon from 0.93.1 to 0.94.0 (#18943) * Build(deps): Bump zeitwerk from 2.6.5 to 2.6.6 (#18942) * FIX: do not preload topic list for new topic/message routes (#18959) * SECURITY: Correctly render link title in draft preview (#18958) * FIX: Deliver chat summaries when allowed groups include "everyone" (#18955) * DEV: Remove unused code and translations * FIX: Use cached RegEx instead of recreating RegEx on every usage * DEV: Remove unused code * DEV: Fix broken slug migration (#18951) * FIX: Automatically generate category channel slugs (#18879) * FIX: Watched words submit button should be disabled by default (#18947) * FIX: uses i18n for saved text (#18949) * Update translations (#18948) * FIX: handles starting draft dm from sidebar (#18946) * DEV: TODO followups (#18936) * FIX: Migrate values before adding a not null constraint. (#18940) * DEV: Use store to create Post records in tests (#18920) * FIX: makes sidebar links respect drawer mode (#18918) * Revert "FEATURE: when entering a topic scroll to last visited line marker (#18440)" (#18917) * FIX: Allow deletion of categories when chat channel is not present * DEV: Add test-site-settings to asset pipeline (#18935) * DEV: Make admin-start-backup template extendable (#18904) * bump @babel/core from 7.19.6 to 7.20.2 in /app/assets/javascripts (#18925) * DEV: Load JS site settings in theme qunit HTML (#18934) * Build(deps): Bump sass from 1.55.0 to 1.56.0 in /app/assets/javascripts (#18932) * Build(deps): Bump loader-utils in /app/assets/javascripts (#18931) * Build(deps): Bump loader-utils (#18930) * DEV: Fix text util test (#18929) * Build(deps-dev): Bump mocha from 2.0.1 to 2.0.2 (#18921) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#18924) * bump sinon from 14.0.1 to 14.0.2 in /app/assets/javascripts (#18926) * FIX: Update sidebar links when promoted to admin (#18928) * DEV: Load client site settings YML into JS tests (#18413) * FIX: topic tracking stage error when no tags (#18901) * FIX: Make chat editor IDs not null (#18903) * FIX: Make ChatMessageUpdater check editing access for guardian (#18902) * PERF: Disable auto-import sourcemaps in production (#18923) * FIX: follow up to #7fca078 (#18915) * FIX: retention reminder is absolute and needs relative parent (#18913) * DEV: DiscourseEvents for chat messages (#18914) * Improve route error handling in admin/plugins (#18911) * FIX: Welcome topic should be hidden on the /categories page as well (#18869) * PERF: Make stylesheet hashes consistent between deploys (#18909) * DEV: Upgrade "lefthook" and skip hooks during merge/rebase (#18910) * FIX: Increase NGINX request header buffer (#18758) * FIX: Correctly render link title in draft preview (#18906) * FIX: simplfies previous route handling (#18895) * PERF: Update `s3:expire_missing_assets` to delete in batches (#18908) * PERF: Ensure JS chunk content and filenames are deterministic (#18907) * UX: Chat index tweaks (#18905) * Fix and improve `s3:expire_missing_assets` task (#18863) * UX: Fix spelling and capitalization (#18886) * DEV: separates preferred-chat-mode service (#18883) * Meta topic: https://meta.discourse.org/t/meta-theme-color-is-not-respecting-current-color-scheme/239815 (#18832) * FIX: Make can_send_private_messages not reliant on system user (#18812) * FIX: Add editing user ids to ChatMessage and ChatMessageRevision (#18877) * Build(deps): Bump zeitwerk from 2.6.4 to 2.6.5 (#18896) * Build(deps-dev): Bump selenium-webdriver from 4.5.0 to 4.6.1 (#18900) * Build(deps-dev): Bump parallel_tests from 3.13.0 to 4.0.0 (#18899) * Build(deps-dev): Bump capybara from 3.37.1 to 3.38.0 (#18897) * FEATURE: new site setting to hide user profiles by default. (#18864) * DEV: Add rake task to install a theme from an archive (#18890) * DEV: Fix greyed text for dark mode emails (#18889) * FIX: Bug with permanent delete modal (#18825) * FIX: restore mention tab for experimental user nav (#18882) * PERF: Correct should_skip? logic in `s3:upload` (#18862) * DEV: Use action helper in `bulk-tag` modal (#18885) * DEV: initial system tests for chat and plugins (#18881) * DEV: Add .streerc file (#18878) * Build(deps): Bump json_schemer from 0.2.22 to 0.2.23 (#18872) * Build(deps): Bump image_size from 3.1.0 to 3.2.0 (#18873) * Build(deps-dev): Bump mocha from 2.0.0 to 2.0.1 (#18874) * Build(deps): Bump rubocop-rspec from 2.14.2 to 2.15.0 (#18875) * UX: Change ordering of categories shown in sidebar (#18803) * FIX: When cloning themes via HTTP, try the original URI too (#18870) * FIX: Theme import error handling needs to happen inside the hijack block (#18866) * UX: less link-like unread/new color in sidebar (#18868) * FIX: prevents chat to enter in endless loop when getting 404 (#18867) * DEV: Make `modifyClass` native class-aware, add tests (#16111) * Ux sidebar muted icon (#18856) * DEV: Rename direct message related models * Build(deps): Bump ember-source in /app/assets/javascripts (#18859) * DEV: Use `store.createRecord` for Topic models (#18837) * Reduce theme/color-scheme cookie cookie duration (#18858) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#18851) * FIX: Do not limit scope to direct messages (#18855) * UX: Add back button in chat browse screen on mobile (#18849) * FIX: the notification data on the client expects an identifier (#18850) * UX: scope chat-channel-title hover effect (#18854) * DEV: Extend specs coverage for non-admin access to admin endpoints (#18833) * DEV: Give em plugins the green tick (#18836) * removed some extraneous question marks (#18847) * FIX: minor alignment fix for mobile small-actions (#18853) * UX: Muted style for entire chat section link when muted (#18852) * FIX: Write to group logs when a user is added to group by invite (#18841) * UX: Increase padding of back button in chat draft screen (#18848) * DEV: Fix `labeler.yml` glob configuration (#18846) * DEV: Have `licensee` check xmldom license (#18840) * DEV: Automatically label chat PRs (#18843) * FIX: fix circle indicator on "my posts", color (#18844) * FIX: New Topic button is now correctly disabled in a category where they have no permissions, even when filtered by tag (#18741) * DEV: Add chat plugin to Crowdin (#18838) * Update translations (#18813) * DEV: Move `discourse-chat` to the core repo. (#18776) * DEV: Add integration specs for Github login (#18808) * UX: hide new/unread counts in sidebar, use dot by default (#18797) * DEV: Avoid cloning site settings in QUnit tests (#18811) * Build(deps): Bump tmpl from 1.0.4 to 1.0.5 in /app/assets/javascripts (#18835) * FIX: Correct the post numbers in `lastUnreadUrl` (#18831) * DEV: Fix mocha deprecations (#18828) * DEV: Fix qunit hook issue (#18829) * DEV: Force `testem` upgrade (#18834) * UX: Hide welcome topic from admins as well if not edited (#18807) * Build(deps): Bump zeitwerk from 2.6.3 to 2.6.4 (#18830) * Build(deps-dev): Bump mocha from 1.16.0 to 2.0.0 (#18819) * UX: Change placement of welcome cta (#18806) * DEV: Quote values when constructing SQL (#18827) * UX: update and consolodate published page styles (#18792) * Build(deps): Bump rubocop from 1.37.1 to 1.38.0 (#18821) * Version bump to v2.8.10 (#18824) * Version bump to v2.9.0.beta11 (#18822) * SECURITY: Fix invite link validation (stable) (#18818) * SECURITY: Expand and improve SSRF Protections (stable) (#18816) * SECURITY: Fix invite link email validation (#18817) * SECURITY: Expand and improve SSRF Protections (#18815) * DEV: Do not remove `debugger` statements from themes (#18814) * FIX: Can't change notification level of categories set to regular (#18801) * Build(deps): Bump zeitwerk from 2.6.1 to 2.6.3 (#18809) * DEV: Mark `bootbox` as deprecated (#18795) * UX: Ensure image size is maintained even after loading error (#18805) * Refactor admin base controller (#18453) * FIX: Evaluate all callbacks rather than override them (#18788) * UX: Switch no categories/tags configured text in sidebar to a link (#18787) * FIX: Don't notify topic author about small action posts (#18789) * UX: Fix grammar typo in trust_level_unlocked_tip (#18793) * Build(deps): Bump jsdom from 20.0.1 to 20.0.2 in /app/assets/javascripts (#18800) * Build(deps): Bump cose from 1.2.1 to 1.3.0 (#18799) * Build(deps): Bump net-smtp from 0.3.2 to 0.3.3 (#18798) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#18784) * FIX: Follow up fixes for password-reset error page (#18794) * UX: Change emoji graphic on invite error page (#18790) * FIX: simplify display of multiple AJAX errors (#18763) * FIX: Don't attempt to add user again to a group when syncing groups via SSO (#18772) * DEV: Delete old `buffered-render` attributes (#18786) * FIX: Ignore unique conflicts when backfilling sidebar defaults (#18785) * FEATURE: reduce suspicious distance logins warning to 100km (#18767) * Build(deps-dev): Bump test-prof from 1.0.10 to 1.0.11 (#18781) * Build(deps): Bump json_schemer from 0.2.21 to 0.2.22 (#18782) * UX: make whole category box clickable (#18780) * FIX: Ensure that custom {{action}} modifier works with actions hash (#18779) * DEV: Update expired reset password copy (#18778) * UX: Allow linebreaks mid-word in github onebox file paths (#18777) * FIX: a couple of topic elements are too wide (#18775) * FIX: Move group-box group name from class to data attribute (#18773) * FIX: Allow users already in automatic groups to log in (#18771) * SECURITY: Restrict display of topic titles associated with user badges (#18768) (#18770) * SECURITY: Restrict display of topic titles associated with user badges (#18768) * DEV: Introduce TopicGuardian#can_see_topic_ids method (#18692) (#18765) * DEV: Sidebar default tags and categories are determined at user creation (#18620) * DEV: Introduce TopicGuardian#can_see_topic_ids method (#18692) * Build(deps-dev): Bump rspec from 3.11.0 to 3.12.0 (#18761) * Build(deps): Bump memory_profiler from 1.0.0 to 1.0.1 (#18762) * DEV: Update upload mismatch error message (#18759) * UX: Use a friendlier educational message (#18760) * DEV: Revert topic loading async changes (#18757) * DEV: Normalize event handling to improve Glimmer + Classic component compat (Take 2) (#18742) * DEV: move BasicUserWithStatusSerializer from Discourse Chat (#18745) * DEV: Add missing assertion for InvitesController test (#18755) * DEV: Parallelize core JS tests in docker.rake (#18756) * FIX: Add theme-color `<meta>` tag when a dark scheme is selected (#18747) * Build(deps): Bump eslint in /app/assets/javascripts (#18713) * DEV: Clean up pre-initializers (#18680) * DEV: Update rubocop (#18754) * DEV: make possible to pass both async and sync callbacks to the user status modal (#18712) * Build(deps): Bump net-http from 0.2.2 to 0.3.0 (#18748) * Build(deps): Bump rspec-mocks from 3.11.1 to 3.11.2 (#18749) * Build(deps): Bump rubocop-ast from 1.22.0 to 1.23.0 (#18751) * DEV: Add description for active param on create user api docs (#18753) * DEV(cache_critical_dns): add caching for MessageBus Redis hostname * DEV(cache_critical_dns): add option to run once and exit * DOC(cache_critical_dns): add program description * DEV(cache_critical_dns): improve postgres_healthcheck * FIX(cache_critical_dns): use correct DISCOURSE_DB_USERNAME envvar (#16862) * FIX(cache_critical_dns): use discourse database name and user by default (#16856) * DEV(cache_critical_dns): add SRV priority tunables * FIX: remove refresh seconds override on cache_critical_dns (#16572) * FIX: cache_critical_dns - add TLS support for Redis healthcheck * DEV: refactor cache_critical_dns for SRV RR awareness * DEV: Include DISCOURSE_REDIS_REPLICA_HOST in cache_critical_dns (#15877) * FIX: variable name typo (#18752) * DEV: Update docs for composerBeforeSave (#18746) * FEATURE: control topic width with variables (#18743) * Update translations (#18740) * FIX: Reset error props on Topic model (#18739) * DEV: remove deprecation warnings related to Nokogiri * UX: Send notification of type `replied` to topic author if they're watching the topic (#18684) * FIX: Log user addition/deletion from groups when they're changed via DiscourseConnect (#18677) * Build(deps): Bump snaky_hash from 2.0.0 to 2.0.1 (#18696) * Build(deps): Bump oauth-tty from 1.0.3 to 1.0.5 (#18697) * DEV: Remove remaining hardcoded ids (#18735) * FIX: Category chooser not updating selection when editing reviewable (#18737) * DEV: Document create group api params (#18736) * UX: drag new user menus, scroll primary user nav (#18690) * DEV: Fix flaky uploads:disable_secure_uploads spec (#18719) * FEATURE: Generic hashtag autocomplete sorting (#18718) * DEV: Remove harded id when fabricating in tests (#18729) (#18730) * DEV: Remove harded id when fabricating in tests (#18729) * FIX: Correctly reset `controllerReady` prop (#18727) * UX: Fix user status display in autocomplete (#18726) * FIX: Use only first line from commit message (#18724) * Fix: minor typo (#18695) * UX: Stop falling back to topic image on embeds (#18720) * UX: Improve autocomplete styling (#18723) * Revert "DEV: Normalize event handling to improve Glimmer + Classic component compat (#18490)" (#18725) * DEV: Ensure event-handling reopens are only performed once (#18722) * DEV: Normalize event handling to improve Glimmer + Classic component compat (#18490) * DEV: remove old CustomHTML outlet (#18711) * Build(deps): Bump qunit from 2.19.2 to 2.19.3 in /app/assets/javascripts (#18714) * DEV: Fabricate instead of just building topic, post and user in tests (#18698) (#18717) * DEV: Fabricate instead of just building topic, post and user in tests (#18698) * DEV: Enable `no-args-paths` and `no-attrs-in-components` lint rules (#18709) * A11Y: add keyboard support to youtube embeds (#18710) * DEV: Improve colocated component rootName logic (#18708) * DEV: add plugin outlet to sidebar footer (#18707) * A11Y: Add title to drafts remove icon button (#18706) * A11Y: Add `for` attributes for location, website in profile (#18705) * DEV: Apply theme template transforms to colocated components (#18704) * FIX: set max-width on category logo img (#18703) * DEV: Remove unneeded `templateOnly()` stubs (#18701) * Build(deps): Bump @babel/standalone from 7.19.3 to 7.19.6 in /app/assets/javascripts (#18689) * Build(deps): Bump @babel/core in /app/assets/javascripts (#18687) * Build(deps): Bump excon from 0.93.0 to 0.93.1 (#18682) * DEV: Add missing test case for `TopicGuardian#can_see_topic?` (#18694) * FIX: Clientside checks for personal_message_enabled_groups (#18691) * UX: Show category edit button when in tag intersection (#18679) * FIX: set width on category logo img, not container (#18676) * A11Y: Sortable header elements should have pointer (#18672) * FIX: Do not show a 404 page when visiting messages (#18652) * FIX: Correctly debounce various functions (#18673) * DEV: Include theme_uploads and theme_uploads_local objects in theme tests (#18645) * FEATURE: Hide welcome topic if it hasn't been edited (#18632) * FEATURE: Add button to reset seen popups (#18586) * UX: extend horizontal user nav to all user pages (#18674) * DEV: Introduce a `@debounce(delay)` decorator (#18667) * UX: correct capitalization (#18671) * DEV: Load plugin CSS in tests (#18668) * FIX: Calculate header offset once on load (#18669) * DEV: Remove all use of Ember/jQuery globals in core (#18670) * FIX: Skip all post validations if necessary (#18625) * Update translations (#18642) * DEV: Enable ember-qunit's `TestIsolationValidation` feature (#18666) * DEV: Bump theme compiler version for connector fix (#18665) * FIX: Ensure minification does not break colocated connectors (#18664) * DEV: Prevent potential site state leaks in tests (#18663) * Build(deps-dev): Bump rswag-specs from 2.6.0 to 2.7.0 (#18662) * Build(deps): Bump nokogiri from 1.13.8 to 1.13.9 (#18655) * Build(deps-dev): Bump mocha from 1.15.0 to 1.16.0 (#18654) * Build(deps-dev): Bump rspec-rails from 6.0.0 to 6.0.1 (#18653) * FIX: do not include group less emojis in standard list (#18659) * DEV: add currentPath arg to above-site-header plugin outlet * FEATURE: Generic hashtag autocomplete part 1 (#18592) * FIX: sidebar_list_destination on CurrentUserSerializer (#18660) * FIX: ensure dropdown is above sibling labels (#18658) * A11Y: Add `aria-label` to topic post badges (#18657) * A11Y: Return focus to header search button upon escape of search (#18656) * FIX: sidebar list destination for tracked and tags (#18639) * A11Y: Improve group search accessibility (#18651) * FIX: Exclude hidden topic posts and small actions from the RSS feed. (#18649) * FIX: User card focus state appearing on click (#18650) * A11Y: Improve user card appearance in WHCM (#18648) * A11Y: Add aria labels for posts in group activity (#18601) * A11Y: Improve topic timeline in WHCM (#18647) * DEV: Introduce minification and source maps for Theme JS (#18646) * UX: Fix alt text cancel button in dark mode (#18644) * DEV: Replace mini-loader with Ember's `loader.js` library (#18643) * DEV: Switch back to mainline `licensed` gem (#18641) * DEV: Remove the router testing hack (#18640) * DEV: Introduce support for template colocation in themes * DEV: perform theme extra_js compilation all together * FIX: Clarify security key copy (#18636) * FEATURE: allow user to set preferred sidebar list destination (#18594) * Revert "UX: Simplify bootstrap mode visuals (#18626)" (#18638) * Revert "UX: Change button to grey (#18635)" (#18637) * DEV: Listen for escape key on hamburger & user menu (#18629) * Build(deps): Bump rubocop-ast from 1.21.0 to 1.22.0 (#18628) * A11Y: Bookmarks modal (#18630) * Build(deps): Bump qunit from 2.19.1 to 2.19.2 in /app/assets/javascripts (#18631) * UX: Change button to grey (#18635) * FIX: Reset general_category_id if the general category was deleted (#18634) * Revert "FEATURE: Hide Privacy Policy and TOS topics (#18533)" (#18633) * UX: Simplify bootstrap mode visuals (#18626) * A11Y: Add `href` to frequent poster avatars (#18627) * FIX: Prevent layout shift while traversing dropdown (#18624) * UX: Prevent reply to name from being longer than 400px (#18623) * UX: Welcome CTA edits (#18582) * FIX: adjust the users per trust level cells in RTL mode (#18605) * DEV: Ensure getter can always return without error (#18621) * A11Y: Improve accessibility in WHCM themes (#18606) * DEV: Support colocation of component templates in plugins (#18598) * DEV: Restrict resolver lookups to known namespaces (#18599) * FEATURE: Add sidebar link for admin to configure default tags (#18593) * FEATURE: Add sidebar link for admin to configure default categories (#18595) * DEV: Move sidebar site settings to the sidebar category (#18596) * FIX: remove RS384 and RS512 cose ciphers (#18619) * Build(deps): Bump ember-auto-import in /app/assets/javascripts (#18618) * DEV: Fix testem output (#18609) * UX: theme setting highlight update (#18607) * DEV: includes search_aliases in emoji object (#18608) * A11Y: Add more information to the "reply to" button label. (#18604) * updated copy for Create your Welcome Topic CTA (#18600) * A11Y: Signal the toggle header can reorder table elements. (#18597) * UX: horitzontal scroll controls for new user nav (#18583) * DEV: Modernize controller unit tests (#17412) * DEV: Asyncify loadTopicView (#18585) * DEV: add plugin connectors to the admin user lists table (#18590) * UX: hide keyboard shortcuts on mobile (#18575) * Build(deps): Bump stackprof from 0.2.21 to 0.2.22 (#18589) * A11Y: Trap focus on auth security modal (#18573) * A11Y: Make input popup errors keyboard-accessible (#18570) * A11Y: Fix tab order in "Feature topic" modal (#18576) * Use service account credentials for fetching google hd groups (#18329) * UX: Onboarding edits (#18581) * FIX: Show timelines dates as clickable (#18580) * FIX: action_code_path not being loaded for user-stream-item (#18577) * FIX: Missing category badge for category with color stored as 3-digit hex code (#18579) * FIX: Category sidebar link not active when filtered by none and all (#18578) * UX: Conditionally display sidebar tags section for user (#18558) * UX: Conditionally hide sidebar categories section for user (#18557) * UX: Hide tags section in sidebar when user has no visible tags (#18539) * FIX: replace prefixCSS with prefixElementColors (#18556) * FIX: remove `nil` items before sorting the sha1 string array. (#18571) * FEATURE: add user status to user preferences (#18532) * Add replaceContent selectKit modifier (#18569) * A11Y: Make "Load parent post" element accessible (#18568) * Build(deps-dev): Bump rspec-rails from 5.1.2 to 6.0.0 (#18534) * FIX: Reset related site settings on general category delete (#18548) * UX: danger colour update (#18516) * FIX: status emoji was shown on the left on mobile (#18567) * FIX: alignment of user status emoji on posts (#18563) * FEATURE: Implement new onboarding popups (#18362) * DEV: Merge mentions and watching tabs into the replies tab in the user menu (#18544) * FIX: Correctly handle HTTP errors during dominant color calculation (#18565) * FIX: typo (#18566) * DEV: Remove noop CSS (#18564) * DEV: Fix FakeLogger compat (#18562) * DEV: Use more css vars (#18561) * Build(deps): Bump pg from 1.4.3 to 1.4.4 (#18552) * Build(deps): Bump faraday-net_http from 3.0.0 to 3.0.1 (#18521) * DEV: Use css var font sizes (#18518) * DEV: Always use non-builtin net-* and digest gems (#18560) * A11Y: Set role=presentation if alt attr is missing (#18546) * DEV: Use npm for forked backburner.js version (#18559) * DEV: Update `backburner.js` to include bugfix and dev improvements (#18549) * FEATURE: Show relative time when date is omitted (#18547) * FEATURE: Add contentCSSClass for sidebar section-link (#18555) * FIX: warning about sidebar prefix style (#18553) * DEV(cache_critical_dns): add caching for MessageBus Redis hostname * Revert "Revert "FEATURE: Preload resources via link header (#18475)" (#18511)" (#18531) * FIX: User field styling on login (#18551) * UX: updated styles for user nav with sidebar (#18550) * FIX: Change text (#18545) * DEV: Improve UX for user menu tabs when they're empty (#18520) * DEV: Increase nginx proxy buffer size (#18530) * Update translations (#18543) * FIX: Staff action log 'show details' links (#18542) * FIX: Ensure local date format shortcuts work correctly (#18541) * DEV: Allow ManagedAuthenticator classes to match by username (#18517) * FIX: Ensure poll type toggle buttons function correctly (#18540) * UX: Hide tags section from anonymous user when site has no tags (#18538) * DEV: Add experimental setting for hashtag-autocomplete changes (#18537) * FIX: Deprecated settings should not override from UI (#18536) * PERF: Exclude anon sidebar tags in site serializer for logged in user (#18527) * FIX: Hide old PM settings (#18535) * FEATURE: double color for subcategories prefix (#18525) * FEATURE: Hide Privacy Policy and TOS topics (#18533) * DEV: Add specs for hashtags related code (#18526) * FIX: Show error if field is same as password (#18529) * FIX: Remove public topic invite functionality (#18488) * DEV: Decouple the user status modal from current user's status (#18514) * FIX: do not show welcome CTA banner if the welcome topic is deleted (#18528) * FIX: Ensure group inboxes in messages section is sorted by group name (#18508) * UX: correct colour to nav instead of danger (#18515) * DEV: Pass a status object to the user-status-picker instead of passing emoji + description (#18513) * FEATURE: Adds seeded default categories to the sidebar (#18512) * DEV: Fix `bread-crumbs-right` `currentCategory` argument (#18491) * Revert "FEATURE: Preload resources via link header (#18475)" (#18511) * FEATURE: Preload resources via link header (#18475) * DEV: Refactor the last few bootbox dialogs (#18416) * UX: Default to dark category logo on dark schemes (#18510) * DEV: Asyncify `Composer.createPost()` (#18026) * FEATURE: Add dark mode option for category logos (#18460) * FIX: Determining local date same range is erroring when there is no date (#18509) * DEV: Try out double nav for new experimental user page nav (#18495) * FEATURE: Omit showing day when 'to' day is same as 'from' day (#18500) * DEV: Remvoe IMAGES_EXTENSIONS_REGEX const in lib/uploads (#18497) * Build(deps): Bump ember-cached-decorator-polyfill (#18507) * DEV: update to patched discourse-seed-fu (#18493) * UX: add more spacing to tab btns (#18506) * FEATURE: new outlet topic-list-main-link-bottom added to mobile (#18505) * FIX: Arrive at topic must be hidden when `must_approve_users` (#18504) * FEATURE: Handle oneboxes for complex GitHub URLs (#18474) * FIX: Improve error handling for `calculate_dominant_color!` (#18503) * UX: ensures we don't focus invisible button in sidebar (#18502) * PERF: Move dominant color calculation to separate job (#18501) * DEV: Add tests for `SiteSerializer#top_tags` (#18498) * DEV: Avoid configuring Rails configuration in tests (#18499) * FIX: do not prefill default site title value on wizard introduction step (#18496) * FIX: Make sure first admin users are added to auto groups (#18494) * FIX: watched topic overcome muted category (#18480) * DEV: Remove contextual topic list linking behaviour in sidebar (#18485) * DEV: Add a rake task to export/import translation overrides (#18487) * FIX: Ability to trigger emoji after indented code block (#18478) * DEV: Delete reviewable associations when deleting (#18472) * Update translations (#18470) * DEV: removes legacy code (#18486) * DEV: Add faraday and faraday-retry as explicit dependencies (#18473) * DEV: Remove usage of {{action}} modifiers - Take 2 (#18476) * DEV: Fix message section link filters displaying icons (#18484) * DEV: Include pending reviewables in the main tab in the user menu (#18471) * FIX: Missing sidebar section link icon for PM tags (#18481) * DEV: Convert experimental user page activity nav to horizontal nav (#18483) * UX: `More...` -> `More` in Sidebar (#18482) * DEV: Add tests for review-index route (#18415) * DEV: Add displaySection to sidebar sections (#18479) * FIX: Link to `discovery.category` in sidebar` (#18467) * DEV: Remove usages of enable_personal_messages (#18437) * FIX: Skip quality title validations for static topics when edited by admin (#18468) * FIX: Count resulting bulk invites correctly (#18461) * Revert "DEV: Remove usage of `{{action}}` modifiers (#18333)" (#18469) * DEV: Remove usage of `{{action}}` modifiers (#18333) * DEV: Experimental changes to user page notifications nav (#18466) * FIX: do not show user status on posts twice (#18458) * UX: Hide sidebar on 2FA route (#18464) * DEV: Remove broken line of code (#18465) * DEV: Convert messages user page nav to experimental redesign (#18456) * UX: Change notifications nav icon in user page to bell (#18455) * Build(deps): Bump faraday from 2.5.2 to 2.6.0 (#18462) * Build(deps): Bump sinon from 14.0.0 to 14.0.1 in /app/assets/javascripts (#18463) * FIX: New general category changes preventing topic create (#18459) * UX: add max-width to digest email, format erb (#18445) * FIX: Review sidebar link showing for users that can't review (#18454) * Build(deps): Bump jsdom from 20.0.0 to 20.0.1 in /app/assets/javascripts (#18452) * Build(deps): Bump rack-protection from 3.0.1 to 3.0.2 (#18448) * Build(deps): Bump exifr from 1.3.9 to 1.3.10 (#18449) * Build(deps): Bump zeitwerk from 2.6.0 to 2.6.1 (#18450) * Build(deps): Bump msgpack from 1.5.6 to 1.6.0 (#18451) * FIX: Workaround a bug in the R2 gem to produce valid RTL CSS (#18446) * DEV: Add new plugin outlet in topic list header (#18444) * FIX: Allow email login for admins in staff-writes-only-mode (#18443) * UX: fix post placeholder on mobile (#18442) * FEATURE: Make General the default category (#18383) * FIX: Allow logout for admins in staff-writes-only-mode (#18441) * FEATURE: when entering a topic scroll to last visited line marker (#18440) * FIX: Remove zero-width space when not necessary (#18429) * FIX: Add better and more strict invite validators (#18399) * FIX: Revert recursively tag lookup with missing ancestor tags (#18439) * Build(deps-dev): Bump webdrivers from 5.1.0 to 5.2.0 (#18435) * DEV: Add group messages and group_message_summary notifications in the messages tab in the user menu (#18390) * FIX: missing theme upload should not break precompile process. (#18431) * DEV: Refactor community section code (#18436) * DEV: Do not show handled reviewables in the user menu (#18402) * FIX: Removed bookmark reminder alert for reminders set in the past (#18398) * UX: move dismiss button on the bottom to the right of the footer message (#18424) * Build(deps): Bump net-imap from 0.3.0 to 0.3.1 (#18432) * Build(deps): Bump excon from 0.92.5 to 0.93.0 (#18433) * FIX: Ensure closing sidebar tears down all callbacks. (#18434) * FIX: Quirks around starting new uploads when one was in progress (#18393) * FEATURE: Add setting to always confirm old email (#18417) * Version bump to v2.8.9 (#18430) * DEV: update .ruby-version.sample (#18426) * Version bump to v2.9.0.beta10 * Revert "Version bump to v2.3.0.beta10 (#18425)" * Version bump to v2.3.0.beta10 (#18425) * SECURITY: moderator shouldn't be able to import a theme via API (stable) (#18420) * SECURITY: Prevent arbitrary file write when decompressing files (stable) (#18423) * SECURITY: Prevent arbitrary file write when decompressing files (#18421) * SECURITY: moderator shouldn't be able to import a theme via API (#18418) * REFACTOR: Improve reusability by Decoupling flag modal from flag target. (#18251) * UX: Fix composer position on Firefox for Android (#18403) * DEV: Fix `InstallTrigger` deprecation warnings on Firefox (#18380) * UX: Add flag icon for review section link in sidebar (#18414) * FIX: Use `Category#category_text` for sidebar title (#18411) * DEV: Fix lint (#18412) * UX: Correct padding and height for sidebar section message (#18410) * DEV: Revert change in background-color of sidebar (#18409) * UX: Add icons to all section links in Sidebar (#18378) * Build(deps): Bump net-pop from 0.1.1 to 0.1.2 (#18405) * FIX: Migration typo for secure_uploads (#18408) * Build(deps-dev): Bump selenium-webdriver from 4.4.0 to 4.5.0 (#18404) * Build(deps): Bump net-smtp from 0.3.1 to 0.3.2 (#18406) * Build(deps): Bump net-imap from 0.2.3 to 0.3.0 (#18407) * DEV: Rename secure_media to secure_uploads (#18376) * DEV: Include quote notifications in the replies tab in the user menu (#18401) * UX: Restore full sized composer on mobile (#18400) * UX: Style changes to match updates (#18397) * FEATURE: Remember adjusted composer height (#18385) * FIX: Ensure composer grippie stays visible (#18396) * FEATURE: Optionally show user status on email group user chooser (#18367) * Build(deps): Bump @babel/core in /app/assets/javascripts (#18388) * DEV: Unsubscribe from MessageBus channel when leaving review-index route (#18395) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#18389) * DEV: Use the correct property for checking if redesigned user menu is enabled (#18394) * FEATURE: Add review link to community section for logged in user (#18374) * FIX: some composer messages were broken (#18392) * DEV: Minimal first pass of rails system test setup (#16311) * Revert "init (#18387)" (#18391) * init (#18387) * FIX: 404 sending beacon "leave all" on subfolder install * DEV: refactor bootbox alerts (#18292) * Update translations (#18381) * A11Y: Improve user card accessibility (#18348) * FEATURE: add composer warning when user haven't been seen in a long time (#18340) * FEATURE: JS API interface for hljs plugins (#18382) * A11Y: multiple fixes to user stream items (#18368) * A11Y: Associate label with input in bookmark modal (#18371) * A11Y: Add aria label to composer messages `Esc` button (#18372) * FIX: Recursively tag topics with missing ancestor tags (#18344) * DEV: Bump rubocop config and switch back to rubygems (#18379) * Build(deps): Bump omniauth-oauth2 from 1.7.2 to 1.7.3 (#17139) * FIX: Make sure featured category topics are unique (#18343) * Build(deps): Bump rack-protection from 3.0.0 to 3.0.1 (#18370) * Build(deps): Bump regexp_parser from 2.5.0 to 2.6.0 (#18369) * DEV: Update oauth2 and faraday (#18366) * FEATURE: new site setting to set locale from cookie for anonymous users. (#18377) * FEATURE: add site setting to include user associated account ids. (#18375) * FIX: list_suggested_for conditional for personal_message_enabled_groups (#18373) * FIX: Better virtual keyboard detect on Android (#18298) * UX: Restrict width of "reply where" modal (#18365) * DEV: Refine showPopover / hidePopover + introduce isPopoverShown helper for use with d-popover (#18334) * DEV: Differentiate staff-writes-only banner (#18364) * FEATURE: make user status a public experimental feature (#18352) * FIX: Update user results page when no users found (#18363) * DEV: De-jQ post-cooked (#18328) * Build(deps): Bump rack-protection from 2.2.2 to 3.0.0 (#18361) * FIX: Incorrect casing for CTA (#18350) * FEATURE: Introduce personal_message_enabled_groups setting (#18042) * Build(deps-dev): Bump parallel_tests from 3.12.1 to 3.13.0 (#18353) * FEATURE: Overhaul email threading (#17996) * UX: Fix cut-off accents in sidebar headings (#18349) * Revert "FEATURE: add tooltips to timeline start/end dates (#18294)" (#18346) * DEV: Print plugin changes in details blocks (#18345) * FIX: Query correct model in posts:inline_uploads (#18330) * FIX: Handle failed download when calculating image dominant color (#18342) * DEV: Remove invalid pretender calls (#18341) * DEV: output sitelinks search tag on homepage only (#16157) * FIX: Sidebar categories for anonymous not being sorted by name (#18339) * UX: fix topic stream placeholders (#18336) * FIX: Skip uncategorized category in sidebar when disabled (#18324) * FIX: Respect site settings for sidebar users, groups and badges link (#18325) * UX: truncate site text titles in a cleaner way (#18335) * Build(deps): Bump rubocop-rspec from 2.13.1 to 2.13.2 (#18337) * Build(deps): Bump excon from 0.92.4 to 0.92.5 (#18338) * DEV: Emoji picker keyboard accessibility updates (#18331) * FEATURE: site setting to disable usernames in share links. (#18315) * minor sidebar description styling for anons (#18332) * DEV: Use AR enums in reviewables related code * DEV: Allow `rake qunit` filter to be used alongside parallel option (#18326) * FIX: Hide experimental user navigation changes when disabled (#18327) * Build(deps): Bump sass from 1.54.9 to 1.55.0 in /app/assets/javascripts (#18323) * Build(deps-dev): Bump faker from 2.22.0 to 2.23.0 (#18161) * Build(deps-dev): Bump rswag-specs from 2.5.1 to 2.6.0 (#18206) * DEV: Mobile layout support for experimental user nav (#18308) * Build(deps-dev): Bump mocha from 1.14.0 to 1.15.0 (#18322) * DEV: Add test case for syntax highlight of complex HTML (#18320) * PERF: Do not double bundle common langs in hljs bundle (#18321) * DEV: Cache `turbo_rspec_runtime.log` in CI (#18318) * FEATURE: Select emojis in picker via keyboard (#18163) * DEV: Only lock rows that need to change in migration (#18319) * DEV: Update `rake qunit:test` to support filtering (#18249) * DEV: Don't interpret user field names as HTML (#18317) * DEV: Update github workflow for 8-core workers (#18271) * Build(deps): Bump mout from 1.2.3 to 1.2.4 in /app/assets/javascripts (#18316) * DEV: Improve labelling of Firefox Evergreen/ESR CI runs (#18313) * DEV: Ensure GitHub workflows cancel cleanly (#18314) * FIX: DB migration fails if old site setting has empty value (#18296) * SECURITY: Handle incomplete quote bbcode (#18311) * DEV: Remove support for legacy plugin JS compilation pipeline (#18293) * DEV: Improve setting of raw-view owner (#18310) * DEV: Enforce dominant_color length in validation (#18309) * DEV: Make enable_new_user_profile_nav_groups site setting unhidden (#18307) * DEV: Ship first pass of new user page navigation behind feature flag (#18285) * SECURITY: Limit user profile field length (#18304) * UX: Add short site description for anonymous user in sidebar (#18084) * UX: Clicking on a button in sidebar on mobile should collapse it (#18305) * DEV: Reduce width calculations for SK dropdowns (#18263) * SECURITY: Limit user profile field length (#18302) * FEATURE: add tooltips to timeline start/end dates (#18294) * Build(deps): Bump sidekiq from 6.5.6 to 6.5.7 (#18301) * FIX: Add missing string for reviewables in user menu when reviewable post is deleted (#18295) * FIX: Sidebar scroll fade on older iOS (#18299) * FIX: Fix GitHub onebox syntax highlight (#18300) * UX: Add ability to scroll when height is limited (#18297) * DEV: Add support for running plugin qunit in parallel (#18291) * DEV: Various A11Y improvements for the new user menu (#18288) * DEV: Update highlight.js to version 11 (#18282) * DEV: Remove testem `parallel` limit (#18290) * DEV: Add `rake plugins:turbo_spec` task (#18289) * Update translations (#18287) * UX: Use dominant color as image loading placeholder (#18248) * DEV: Remove redundant args for user-main-nav plugin outlet (#18284) * UX: Add icons to all navigation link on user page (#18283) * DEV: use sketchy favicon in dev ember proxy (#18280) * FIX: Overriding text with `admin_js.*` keys didn't work (#18281) * FIX: Empty inline BBCodes were broken (#18276) * UX: Welcome topic CTA adjustments (#18168) * DEV: Add two new plugin outlets in topic list (#18270) * DEV: Tone down copy in experimental user menu for pending users (#18277) * Revert "UX: Retry "left-align title with content for sidebar (#18202)" (#18242)" (#18278) * FIX: header offset position was not correct in some cases (#18155) * UX: Use the same text for linking to more categories and tags in sidebar (#18275) * Build(deps): Bump image_size from 3.0.2 to 3.1.0 (#18274) * Build(deps-dev): Bump shoulda-matchers from 5.1.0 to 5.2.0 (#18272) * Build(deps): Bump css_parser from 1.11.0 to 1.12.0 (#18273) * DEV: Extract virtual keyboard code (#18267) * DEV: Add `before` parameter to `/posts.json` API docs (#18268) * Improve Safari 13 warning copy (#18269) * Introduce warning message for Safari 13 and below (#18258) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#18266) * Build(deps): Bump connection_pool from 2.2.5 to 2.3.0 (#18265) * FIX: Do not attempt to serialize Tag objects when tagging disabled (#18264) * DEV: Remove obsolete CSS prefixes (#18262) * UX: Avoid showing text cursor on unselectables (#18261) * DEV: adds includes helper to templates (#18259) * DEV: Log theme error names and messages (#18260) * FIX: In-page anchor links were broken in subfolder setups (#18250) * Build(deps): Bump @babel/core in /app/assets/javascripts (#18256) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#18255) * UX: Remove height CSS preventing sidebar touch scrolling on mobile (#18257) * Build(deps): Bump loofah from 2.18.0 to 2.19.0 (#18253) * Build(deps): Bump unicode-display_width from 2.2.0 to 2.3.0 (#18254) * UX: Improve styling of sidebar on mobile (#18246) * DEV: Add spec for 56555a023154ce301626cdeed10e52a2d75a9d5d (#18245) * DEV: update yes/no confirmation dialogs (#18181) * PERF: Skip image placeholders when secure_media is enabled (#18247) * DEV: emoji model should set the group of the emoji (#18237) * Disallow access to raw email for non-staff users (#17569) * UX: Do not mark activity table heading as a cursor (#18244) * DEV: ctrl+click on user menu items should open in new tab (#18243) * UX: Retry "left-align title with content for sidebar (#18202)" (#18242) * DEV: Remove broken link from README (#18236) * UX: improve composer toolbar flexibility (#18195) * DEV: Add a tab for watching notifications to the experimental user menu (#18240) * Revert header sidebar change 0ef68f5 (#18241) * DEV: Refactor composer and logout dialogs (#18156) * FIX: Don't delete previous messages when we're inside the `sent_recently` window. (#18239) * remove unused grid-area (#18238) * DEV: Convert experimental user menu tabs to links when they're active (#18158) * Update translations (#18183) * DEV: Ensure experimental user menu is always closed after clicking on items (#18231) * Build(deps-dev): Bump parallel_tests from 3.12.0 to 3.12.1 (#18235) * Build(deps): Bump rubocop-rspec from 2.12.1 to 2.13.1 (#18232) * Build(deps): Bump rspec-expectations from 3.11.0 to 3.11.1 (#18233) * Build(deps): Bump rspec-support from 3.11.0 to 3.11.1 (#18234) * UX: left-align title with content for sidebar (#18202) * DEV: Prioritize unread notifications in the experimental user menu (#18216) * UX: sidebar more link for categories & tags (#18199) * FIX: Correctly pass `invite_to_topic` param to invites (#18229) * UX: switch wizard SVG colors for dark mode (#18109) * DEV: remove H1 from crawler view header (#18201) * UX: trigger tooltips on click for touch devices (#18198) * DEV: Add favicon to dev ember proxy (#18228) * DEV: Refactor self-delete dialog (#18180) * DEV: Minor code cleanup (#18225) * DEV: Add another missing `await` (#18226) * DEV: Fix spec file name (#18227) * Build(deps): Bump mout from 1.2.2 to 1.2.3 in /app/assets/javascripts (#18224) * DEV: Update moment.js (#18207) * Build(deps): Bump ember-exam in /app/assets/javascripts (#18221) * DEV: Update dependabot config (#18218) * Build(deps): Bump oauth from 0.5.10 to 1.1.0 (#18143) * Build(deps): Bump webpack in /app/assets/javascripts (#18214) * UX: Change `posted` notification icon to `discourse-bell-exclamation` (#18217) * Build(deps): Bump ember-cli-htmlbars in /app/assets/javascripts (#18212) * Build(deps): Bump @babel/standalone in /app/assets/javascripts (#18213) * Build(deps): Bump follow-redirects in /app/assets/javascripts (#18205) * Build(deps): Bump sass from 1.53.0 to 1.54.9 in /app/assets/javascripts (#18197) * Build(deps): Bump rubocop from 1.35.1 to 1.36.0 (#18160) * Build(deps): Bump terser from 4.8.0 to 4.8.1 in /app/assets/javascripts (#18175) * Build(deps): Bump a11y-dialog in /app/assets/javascripts (#18188) * Build(deps): Bump @babel/core in /app/assets/javascripts (#18189) * Build(deps): Bump xss from 1.0.13 to 1.0.14 in /app/assets/javascripts (#18191) * Build(deps): Bump @popperjs/core in /app/assets/javascripts (#18196) * Build(deps): Bump openssl from 3.0.0 to 3.0.1 (#18200) * FIX: Ensure loading thumbnails are used in Safari (#18204) * FIX: Ensure low-resolution placeholders are used while loading images (#18194) * FIX: "Exit setup" link should exit the wizard and take user to homepage (#18182) * FIX: Regression with admin user delete dialog buttons (#18179) * FIX: Ensure `<script>` handlebars templates are namespaced correctly (#18178) * DEV: make `bin/ember-cli -u` terminate unicorn when ember-cli fails (#18172) * FIX: raw translation string in user status tooltip (#18170) * DEV: make ember-cli skip plugin directories without `plugin.rb` (#18171) * UX: make user status emoji on post stream smaller (#18169) * FIX: Theme components should work with empty locale files (#18167) * UX: Fix width of preview pane to fix scroll (#18166) * FEATURE: other notifications tab for redesign user menu (#18164) * DEV: Add tags to a topic fixture (#18162) * FIX: Use plugin's defined name for es6 module path (#18159) * FIX: Ensure discovery-categories always clears PreloadStore (#18157) * FIX: Create single notification per post and user (#18091) * DEV: Add below-login-buttons plugin outlet (#18154) * UX: Close the revamped user menu when opening modals (#18148) * FIX: do not show "create topics" notice on wizard route (#18153) * DEV: Use DiscourseJsProcessor for theme template compilation (#18135) * FIX: Keep private theme key secret from user (#18106) * FIX: Return next bookmarks page only if it exists (#18139) * DEV: Try to kickstart npm updates (#18152) * UX: Show information about badge errors when saving * FIX: Immediately show sql options when badge query is supplied * DEV: Compile splash screen JS with ember-cli before inlining (#18150) * DEV: Improve testing and documentation of RenderGlimmer actions (#18145) * FIX: hide welcome topic banner as soon as the welcome topic is edited (#18125) * DEV: Fix a flaky spec (#18146) * DEV: Enable new user menu when experimental sidebar hamburger is enabled (#18133) * DEV: message bus is always present (#18147) * FIX: Transpile start-discourse.js to fix iOS12 support (#18149) * FEATURE: unified user menu notifications count (#18132) * DEV: Fix flaky twitter onebox behavior (#18141) * DEV: Enable dependabot for frontend deps (#18138) * Build(deps-dev): Bump parallel_tests from 3.11.1 to 3.12.0 (#18142) * DEV: Add test for EmberCli#ember_version (#18140) * FIX: Allow .git end to miss from Git repo URL (#18092) * Update translations (#18134) * FIX: In prod builds classes may not be "instancesof" EmberObject (#18137) * DEV: Fix Ember version lookup (#18136) * DEV: Stick to ipv4 when proxying testem requests (#18064) * Build(deps): Bump sidekiq from 6.5.5 to 6.5.6 (#18128) * FIX: Avoid leaking TopicTrackingState listeners due to sidebar (#18131) * DEV: Use all unread notifications count for the count in document title (#18120) * DEV: Reformat dependabot config whitespace (#18126) * Build(deps-dev): Bump rb-fsevent from 0.11.1 to 0.11.2 (#18129) * FIX: Only seed general category on new sites (#18130) * FIX: Do not save default auto_delete_preference for bookmark (#18119) * UX: Improve `max-height` value on toolbar popup menu (#18030) * FEATURE: Replace Lounge with General Category (#18097) * DEV: Support inline-hbs compilation in themes (#18112) * DEV: Compile markdown-it-bundle with ember-cli (#18104) * DEV: Add A11Y-friendly dialog addon (#18028) * FEATURE: show user status description on the mention popup (#18110) * FEATURE: make user status on post streams live (#17903) * FIX: Do not notify admins watching PM tags (#18103) * FIX: Do not invite whisper or small action posters (#18123) * FIX: Show tag chooser if can_tag_pms (#18107) * DEV: extract until date formatting in a library function (#18003) * DEV: use the format-age helper on the DnD button on the new user menu (#18108) * FIX: Preload topic_list correctly for categories+latest (#18122) * FIX: Skip topic allowed user for small actions (#18075) * FIX: Restore trust level when leaving group (#17954) * FIX: reload styling changes for wizard styling step (#18121) * DEV: Include reaction notifications in the likes tab (#18118) * DEV: Ensure experimental user menu tabs don't go off screen (#18117) * Build(deps): Bump jwt from 2.4.1 to 2.5.0 (#18115) * Build(deps): Bump logster from 2.11.2 to 2.11.3 (#18116) * UX: Increase sidebar fontsize on mobile (#18100) * UX: Remove focus on hamburger icon after toggle (#18101) * FIX: LocalJumpError : unexpected return (#18114) * DEV: plugin outlet for wizard checkboxes (#18113) * remove focus from sidebar header toggle click (#18088) * DEV: update breadcrumbs outlet values (#18111) * UX: fix styles for the wizard congrats step (#18105) * FIX: prevents iOS software keyboard to hide sk body (#18102) * Update translations (#18093) * Revert "DEV: Upgrade Redis to 4.8" (#18099) * Revert "Build(deps): Bump jwt from 2.4.1 to 2.5.0 (#18095)" (#18098) * Build(deps): Bump jwt from 2.4.1 to 2.5.0 (#18095) * UX: Remove confusing fallback locale warning (#18096) * DEV: allow custom composer heights in CSS (#18094) * DEV: Apply model transformer API on more models (#18087) * FIX: remove unexpected scrollbar from the new user menu (#18089) * FEATURE: add the set user status button to the new user menu (#18079) * DEV: Add model transformer plugin API (#18081) * FIX: Load admin-specific JS when compiling via ember-cli (#18086) * DEV: Compile plugin tests using ember-cli (#18074) * FIX: Sidebar hamburger panel dropdown not working for anonymous (#18085) * DEV: Upgrade Redis to 4.8 * DEV: Add dedicated translations for links in sidebar * DEV: Add sidebar community section for anonymous user * improve sidebar header sub-hovers (#18083) * minor sidebar scrollbar adjustments (#18080) * remove margin from sidebar sections (#18082) * UX: more apparent focus styles for sidebar headers (#18078) * UX: revert sidebar scrollbar repositioning (#18076) * FIX: Avoid duplicate topic-list requests (#18073) * DEV: Remove JQuery from `lib/keyboard-shortcuts.js` (#18056) * DEV: Enable ember-cli plugin assets by default (#18058) * DEV: Add salesforce plugin to official list of plugins (#18072) * DEV: Do not MiniProfile theme-javascripts (#18067) * PERF: Rely on preload for first_post for TopicBookmarkable (#18066) * FIX: hide sidebar toggle button when no sidebar (#18068) * Fix constraints typo in routes config (#17994) * UX: sidebar styling, spacing consistency, etc (#18059) * FIX: hide sidebar for anonymous when login required (#18065) * FIX: Backup/Restore didn't use correct Redis namespace in multisite (#18060) * Build(deps): Bump msgpack from 1.5.5 to 1.5.6 (#18061) * Build(deps): Bump puma from 5.6.4 to 5.6.5 (#18062) * UX: hide background image in crawler view (#18054) * DEV: Keep global state reset in a single place (#18049) * DEV: Enable jquery-integration runtime deprecation (#18057) * DEV: Remove JQuery from `components/topic-list.js` (#18048) * DEV: De-jQ sidebar tests (#18050) * Revert "UX: Hide chat image overflow (#18000)" (#18052) * DEV: prevent class clash with user-field names (#18055) * Update translations (#18053) * DEV: Increase timeout when pulling hotlinked image (#18036) * DEV: Skip loading plugin JS when running only core tests (#18047) * FEATURE: anonymous sidebar categories and tags (#18038) * DEV: Fix flaky spec due to ordering of Array intersection (#18045) * UX: Add badges section link to community section. (#18044) * UX: Remove sidebar section header background highlight on focus (#18043) * DEV: Reorganize user and anonymous sidebar files into respective folders (#18039) * DEV: improve comment (#18041) * FIX: ignore malformed HTML for title extraction (#18040) * UX: do not show site header on wizard pages (#18037) * DEV: Use `.ember-application` instead of `#main` * DEV: Correctly clear global exported variables * Build(deps): Bump msgpack from 1.5.4 to 1.5.5 * Build(deps): Bump stackprof from 0.2.20 to 0.2.21 * Build(deps): Bump rubocop from 1.35.0 to 1.35.1 * Build(deps): Bump sidekiq from 6.5.4 to 6.5.5 * FIX: Move show like logic to client side (#18025) * FIX: Track native class deps in discourseComputed (#18023) * FIX: remove "--composer-height" style when composer is closed (#18022) * FIX: Improvements to like button for archived topics (#17951) * DEV: Introduce flag for compiling Plugin JS with Ember CLI (#17965) * Review feedback * UX: Fix topic admin menu hidden on narrow screens * UX: Adjust scrollbar behaviour in sidebar * Build(deps): Bump addressable from 2.8.0 to 2.8.1 * Build(deps): Bump omniauth from 1.9.1 to 1.9.2 * FEATURE: default sidebar categories and tags (#17939) * DEV: Clean up twitter onebox code (#18012) * DEV: implements `removeKeys(predicate)` in keyValueStore (#18019) * DEV: Async a bit more of Composer (#18013) * DEV: Remove widget-test helpers file (#18011) * DEV: Simplify "Editing a post stages new content" test (#18007) * DEV: Rework two composer actions tests (#18008) * DEV: `zoom` isn't used anymore (#18016) * DEV: Remove `progid:DXImageTransform` (#18017) * DEV: Clean up keyTrapper prototype override (#18018) * DEV: Use async and sinon.resolves instead of rsvp (#18001) * UX: Hide chat image overflow (#18000) * UX: Correctly center the reply-where modal (#17999) * DEV: Fix busted twitter onebox spec (#18009) * Fix comment to include phpbb 3.3, which is now supported (#18006) * FIX: Allow `match_all_tags` to be passed as a URL param (#17972) * DEV: Add values to bread-crumbs-right plugin outlet (#18005) * FEATURE: Adding a simple CSV importer (#17993) * DEV: Add select-kit option to hide values from preview (#18002) * DEV: Add after-title-and-category plugin outlet (#18004) * DEV: Introduce debugging rake task for PostRevision issues (#17998) * DEV: Add profile tab to the experimental user menu (#17982) * PERF: Minify admin and wizard JS bundles to match app (#17992) * DEV: Use button for sidebar section header * UX: fix typo in a blank page copy * Build(deps-dev): Bump webmock from 3.17.1 to 3.18.1 * Build(deps-dev): Bump minitest from 5.16.2 to 5.16.3 * FIX: Remove last_unread_post excerpt logic for bookmarks (#17979) * DEV: Abort qunit tests when clicking in the toolbar (#17989) * FIX: allow extra whitespace when asking discobot to perform a bot command (#17738) * FEATURE: Count views on published pages (#17878) * DEV: Add hint when qunit assertion fails and app is unsettled (#17984) * FIX: Limit new and existent staged users for email topics (#17970) * FEATURE: Limit maximum recipients for group emails (#17971) * UX: Improve empty state copy on the activity/replies page (#17784) * UX: show blank page placeholder instead of the blue panel that says "No Activity" (#16293) * UX: Don't shrink avatar/number box (#17985) * DEV: add tests for --composer-height calculation (#17986) * DEV: Asyncify most of Composer controller (#17974) * FIX: show hide bootstrap mode notice in real time (#17981) * FEATURE: show default custom date on time-shortcut-pickers (#17867) * UX: Revamp styling of sidebar * DEV: Update internal `package.json` metadata (#17978) * DEV: Add progress output in CI during ember-cli build (#17977) * DEV: Ensure custom ember-cli addons only output JS files (#17976) * UX: Make popup menu options scroll on limited screen height (#17973) * DEV: Add more excludes to jsconfig (#17975) * DEV: Clean up `loadDraft()` (#17969) * DEV: Filter topics by tag for categories (#17953) * FIX: Disable Twitter onebox without API support (#17519) * FIX: set --composer-height when the composer is in collapsed state (#17968) * FEATURE: Trigger `backup_failed` event on backup failure (#17955) * DEV: Await for all async MessageBus callbacks (#17966) * DEV: Add test for arrow keys navigation in the experimental user menu (#17961) * DEV: Update commit hash for .git-blame-ignore-revs * DEV: Add sidebar template colocation commit to .git-blame-ignore-revs * DEV: Template colocation for sidebar files * DEV: Display Sidebar template for anonymous user (#17962) * FEATURE: open create invite modal from the bootstrap notice banner (#17960) * UX: Sort tags alphabetically in sidebar (#17959) * UX: Sort categories alphabetically in Sidebar (#17958) * UX: Make category section link icons consistent with Sidebar's interface (#17922) * PERF: Only load the current user's topic_user for bookmarks list (#17873) * A11Y: Accessible full-screen and minimize composer buttons (#17936) * A11Y: Use button in `d-modal-cancel` component (#17938) * Build(deps): Bump mini_racer from 0.6.2 to 0.6.3 (#17956) * Build(deps): Bump pry-byebug from 3.10.0 to 3.10.1 (#17957) * DEV: `list_type: simple` to allow for easy re-ordering (#17952) * FIX: welcome topic title was not editable (#17950) * DEV: Ensure RenderGlimmer handles in-place component changes (#17946) * FIX: Recover from guardian check when deleting reviewable users. (#17949) * A11Y: Don't include aria on reply count `span` element (#17948) * Update translations (#17947) * DEV: Use afterEach instead of try/finally (#17944) * DEV: Do the full cleanup after **every** test (#17943) * DEV: Await for async helpers (#17942) * DEV: Remove commented-out code (#17945) * DEV: Remove code that is not being used (#17941) * UX: Make Sidebar more consistent with user menu on mobile (#17940) * DEV: Introduce on-resize modifier and service (#17935) * Build(deps): Bump pry-byebug from 3.9.0 to 3.10.0 (#17937) * DEV: Refactor new user menu files (#17879) * UX: Add flat text button styles and use in date/time cancel modal (#17892) * A11Y: Add clearer focus states for date picker elements (#17890) * DEV: Proxy `mobile_view` param to /bootstrap.json (#17934) * DEV: Fix /logs in dev env (#17933) * DEV: Declare new SMTP settings from 3a37a7f (#17932) * DEV: Modernise discovery controller query parameter construction (#17927) * FEATURE: Allow configuration of smtp timeout settings (#17863) * DEV: Silence resolver deprecations for now (#17931) * FEATURE: Add safe-mode toggle to `/u/admin-login` (#17930) * UX: Improve safe-mode usability (#17929) * DEV: Modernise rest adapter query parameter construction (#17925) * DEV: Allow safe_mode and preview_theme_id to work via ember-cli proxy (#17928) * FIX: Ensure topic-list adapter never serializes `undefined` (#17924) * DEV: Modernise navigation-item query parameter construction (#17926) * DEV: Ensure date-time-input-range-test works in all timezones (#17923) * DEV: Update JS class sorting to match new lint rule * DEV: Update eslint-config-discourse to introduce `sort-class-members` * DEV: Make experimental sidebar site settings public (#17921) * Revert "DEV: Experimental scroll sidebar to specific element event handler (#17727)" (#17920) * UX: Reduce font-size of sidebar section link suffix icon (#17919) * DEV: Skip flaky sidebar test (#17918) * A11Y: Keep composer as focused element when dismissing Link modal via keyboard (#17893) * A11Y: add focus state for advanced search toggles (#17894) * A11Y: Improve group box hover highlight on dark schemes (#17895) * Build(deps): Bump redis-namespace from 1.8.2 to 1.9.0 (#17911) * DEV: Fix `sidebar-hidden` localStorage value (#17915) * DEV: Fix localStorage test leakage (#17917) * FEATURE: allow wizard checkbox field to be disabled (#17916) * DEV: Fix random test ordering (#17905) * Build(deps): Bump rubocop from 1.34.1 to 1.35.0 (#17912) * Build(deps-dev): Bump bullet from 7.0.2 to 7.0.3 (#17913) * Build(deps-dev): Bump test-prof from 1.0.9 to 1.0.10 (#17914) * DEV: Prefer kvs over raw localStorage (#17907) * DEV: Change test localStorage prefix (#17906) * DEV: Tweak core_frontend_tests timeouts (#17902) * UX: improve styles of the user status message component (#17904) * FIX: Don't raise on deleted topic in UpdateHotlinkedRaw (#17901) * DEV: Enqueueing symbol args is deprecated (#17897) * UX: Remove extraneous margins in profile pic modal (#17896) * FIX: markdown-it parse fn requires an env arg with {} as default (#17900) * DEV: implements parseAsync in discourse/lib/text (#17899) * A11Y: ensures featured topic btn is focused when modal closes (#17898) * DEV: Add before-composer-fields plugin outlet (#17891) * A11Y: makes toolbar tabindex independent from its context (#17889) * A11Y: moves anchor rendering out of conditional to prevent losing focus (#17887) * FEATURE: PWA users are prompted for push before first post (#17888) * PERF: Add exponential backoff for DistributedMutex (#17886) * DEV: Remove `discourse/components/glimmer` superclass (#17877) * FIX: Regression with Categories nav item (#17885) * FIX: Reset flair group if user is removed from group (#17862) * DEV: Make group message summary notification Link to the group inbox (#17884) * DEV: Fallback to `bookmarkable_url` if bookmark reminder notification has no topic info (#17883) * DEV: Remove undefined in Sidebar::SectionLink class attribute (#17881) * DEV: Remove flaky sidebar acceptance test. (#17882) * DEV: Route PM only tags to PM tags show route (#17870) * DEV: Update composer-fullscreen-prompt to template-only component (#17871) * DEV: Update sidebar components to use `@glimmer/component` (#17875) * DEV: Update welcome-topic-banner to use `@glimmer/component` (#17876) * FIX: Remove dead and large images from oneboxes (#17868) * DEV:Using symbols is deprecated, use strings instead (#17874) * FIX: don't preview color scheme if it's not current user's profile. (#17855) * DEV: Invalidate theme cache when S3 configuration changes (#17872) * FEATURE: Adds full screen composer submit button and prompt (#17839) * DEV: Update user-menu components to use `@glimmer/component` (#17869) * minor padding update for revamped user-menu (#17864) * FIX: Don't notify editor when category or tag change (#17833) * FEATURE: show status in search results when mentioning user in composers (#17811) * DEV: Attempt to fix flaky sidebar test (#17852) * DEV: `site-settings:main` -> `service:site-settings` (#17854) * Version bump to 2.8.8 * Version bump to v2.9.0.beta9 * FEATURE: Allow private themes to be partially installed (#17644) * SECURITY: Limit email invitations to topic * SECURITY: Limit email invitations to topic * FIX: Destroy all posts when hard deleting topic (#17359) * DEV: Fix the build (#17853) * DEV: Add messages tab to the new user menu (#17850) * DEV: Add `registerUserMenuTab` plugin API (#17851) * UX: add left sidebar toggle when sidebar enabled (#17831) * Build(deps-dev): Bump webmock from 3.16.0 to 3.17.1 (#17848) * Build(deps): Bump rubocop from 1.33.0 to 1.34.1 (#17847) * Build(deps): Bump pg from 1.4.2 to 1.4.3 (#17846) * Build(deps): Bump parser from 3.1.2.0 to 3.1.2.1 (#17836) * Build(deps): Bump sidekiq from 6.5.3 to 6.5.4 (#17835) * Update translations (#17849) * FEATURE: update bootstrap mode notice to add invite and wizard links (#17822) * FEATURE: add welcome topic cta banner (#17821) * Update translations (#17845) * FIX: Swallow SSL errors when generating oneboxes * DEV: Run `yarn install` for all `rake docker:test` invocations (#17844) * DEV: Bump asset compiler versions (#17843) * DEV: Rename `UriHelper.escape_uri` to `.normalized_encode` * FIX: broken onebox images due to url normalization bugs * DEV: return user status on the user search route (#17716) * DEV: Remove vendored babel and update config for plugins/themes (#17832) * FIX: don't raise an error if file not found in S3. (#17841) * FIX: Make word watcher work with nil strings (#17830) * DEV: Clear extra header buttons (#17829) * FEATURE: Add above-modal-header plugin outlet (#17812) * DEV: Use json schema file to describe update group endpoint (#17825) * DEV: Fix a function name typo (#17828) * DEV: Make the first argument to the top-level describe a constant in specs * DEV: Set owner of sidebar section objects (#17827) * DEV: Add bookmarks tab to the new user menu (#17814) * FEATURE: show status on post streams (#17813) * DEV: Improve wording about daily like limits (#17824) * DEV: Asyncify `findTopicList()` (#17816) * Revert "Build(deps-dev): Bump webmock from 3.16.0 to 3.17.0 (#17817)" (#17820) * Build(deps-dev): Bump webmock from 3.16.0 to 3.17.0 (#17817) * Build(deps): Bump sidekiq from 6.5.2 to 6.5.3 (#17818) * Build(deps): Bump rubocop-ast from 1.19.1 to 1.20.1 (#17819) * FIX: the phpbbb import script was not parsing youtube tags (#17787) * FIX: prevents android keyboard to be hidden instantly on sk focus (#17810) * UX: Improve empty state copy on the activity/topics page (#17746) * DEV: add status to the user info component (#17809) * DEV: Make it possible to hide tooltip on the user status (#17808) * FIX: Allow to add the same watched word with a different case (#17799) * Add discourse-question-answer to official plugins (#17807) * FIX: properly log all internal job failures (#17805) * DEV: Refactor notification/reviewable items rendering in the new user menu (#17792) * FIX: do not redeem expired invites on new user signup (#17798) * DEV: Replace `topic-tracking-state:main` with `service:topic-tracking-state` (#17802) * Build(deps): Bump sidekiq from 6.5.1 to 6.5.2 (#17803) * Build(deps): Bump rubocop from 1.32.0 to 1.33.0 (#17804) * DEV: Add jsconfig (#17800) * Revert "DEV: Improve multisite db scripts in dev (#17337)" (#17801) * FEATURE: add image delete button in preview. (#17624) * UX: Display gap between tag sort options on PMs (#17342) * FIX: Secondary more section links not marked as active (#17797) * DEV: Use proper wording for contexts in specs * DEV: Support old hamburger menu custom footer links in Sidebar (#17796) * Add support for toggling between mobile and desktop view on sidebar (#17794) * UX: Move About and FAQ links into secondary section in More... dropdown (#17793) * UX: update register admin wizard page styles (#17785) * UX: fix chat lock icon position and background (#17791) * DEV: Guardians aren't active record objects, so shouldn't use fab! (#17789) * FIX: Handle actor not having preferences in UserCommScreener (#17790) * FIX: don't memoize site setting in guardian (#17788) * DEV: UserCommScreener fine-grained actor improvements (#17737) * FIX: scope memoization of category moderation per category (#17786) * FIX: show update banner only once on categories with subcategory lists (#17782) * UX: account for iPad hub nav when calculating top (#17780) * DEV: Don't publish to the `/reviewable_counts` channel (#17779) * FIX: Unsubscribe from the `/reviewable_counts` channel when leaving the review-index route (#17778) * DEV: Replace `site:main` with `service:site` (#17766) * DEV: Wire up the dimiss button in the new notifications menu (#17745) * DEV: Add discourse-chat to official plugins (#17773) * Build(deps): Bump erubi from 1.10.0 to 1.11.0 (#17761) * DEV: Update `/admin/badges` to modern Ember patterns (#17672) * DEV: Clear custom sidebar sections after each test (#17775) * UX: Move links in Sidebar footer under community section (#17774) * DEV: Add `aria-label` option to the `d-icon` helper (#17741) * DEV: Combine all header notification bubbles into one in the new user menu (#17718) * FIX: Links incorrectly marked as active in Sidebar::MoreSectionLinks (#17771) * FIX: avoid usage of dig when looking for job class (#17772) * Build(deps-dev): Bump webmock from 3.14.0 to 3.16.0 (#17762) * Build(deps): Bump xorcist from 1.1.2 to 1.1.3 (#17764) * FEATURE: track stats around failing scheduled jobs (#17769) * DEV: Allow to specify seed on rake task plugin:spec (#17770) * REFACTOR: Update fastly URLs in tests to generic example URLs * REFACTOR: update search fixture urls * DEV: Replace `session:main` with `service:session` (#17765) * DEV: Modernize store and messageBus injections in Glimmer base class (#17763) * FEATURE: Show SMTP response on admin email sent list and rearrange columns (#17143) * FIX: Inject appEvents in ScreenTrack (#17751) * DEV: Replace `current-user:main` with `service:current-user` * DEV: Improve `injectServiceIntoService` function * FIX: Use default locale for footer of embedded topics (#17760) * UX: add ellipsis for long category names in category chooser dropdown (#17758) * DEV: Move all resolver deprecations into `resolver.js` (#17757) * Update translations (#17756) * FIX: do not overwrite top_menu site setting in wizard styling step (#17743) * FIX: Bugs with year selector and erase button (#17749) * FIX: Update word_watcher cache key following schema change (#17755) * DEV: Ensure `censorFn` copes with null `regexpList` (#17754) * DEV: add test for wizard last step and some minor optimizations (#17752) * FEATURE: Add support for case-sensitive Watched Words (#17445) * DEV: Supports href attribute for hamburger links API bridge to sidebar (#17750) * UX: Change unrelated icon in the CTA Signup prompt (#17732) * DEV: Remove duplicate getter from category-section-link (#17705) * DEV: `message-bus:main` -> `service:message-bus` (#17748) * UX: Remove count from more section links (#17747) * DEV: set CSS custom property for footer-nav-height (#17744) * FIX: wizard last step "corporate" was not saving changes (#17739) * DEV: dom clean should be cancelled on aborted transition (#17736) * DEV: Add API bridge for custom hamburger menu links to sidebar (#17742) * DEV: Replace `site-settings:main` with `service:site-settings` (#17734) * DEV: `addTopicsSectionLink` -> `addCommunitySectionLink` plugin api (#17740) * DEV: Experimental scroll sidebar to specific element event handler (#17727) * UX: adjust sidebar margin to avoid composer height (#17731) * DEV: Set permissions for GitHub actions (#17733) * UX: Fix extra spacing for group metadata in user profile (#17725) * UX: updated account activation page design (#17730) * UX: Add the TOS disclaimer to the invite signup (#17717) * DEV: Add topic title suffix outlet (#17647) * FIX: bots could generate errors when slug generation method is encoded (#17224) * FIX: Accept HEAD requests for mandrill webhook (#17180) * DEV: Use toggle event for sidebar more-section-links component (#17729) * UX: Only set user bookmarks loading state when loading (#17728) * FIX: Show bookmarks loading spinner correctly (#17726) * Revert "DEV: Minor topic-tracking-state refactor (#17707)" (#17724) * FIX: Ensure all public topic-query options can be used via Ember (#17706) * Build(deps-dev): Bump faker from 2.21.0 to 2.22.0 (#17721) * Build(deps): Bump bootsnap from 1.12.0 to 1.13.0 (#17720) * DEV: Minor topic-tracking-state refactor (#17707) * FIX: Ensure theme_uploads_local only has one `/` at beginning (#17719) * DEV: Use relative URLs for theme_uploads_local (#17715) * UX: sidebar appearance shouldn't shrink fonts (#17714) * FEATURE: show user status on the user profile page (#17712) * UX: sidebar focus styles, remove hover for touch (#17713) * DEV: Fix group create response api response (#17711) * DEV: a new `d-tooltip` component (#17513) * FIX: show button bar overflow on iPad & mobile (#17708) * DEV: Workaround for licensed gem incompatibility with latest Bundler (#17704) * UX: Reduce number of links displayed in Community by default (#17703) * DEV: Add reviewables tab to the new user menu (#17630) * FIX: UserCommScreener filter acting user ID from target user IDs (#17702) * Add RSpec 4 compatibility (#17652) * FIX: allow array values for custom fields in category params. (#17692) * DEV: Remove workaround for advisory lock (#17689) * Build(deps): Bump pg from 1.4.1 to 1.4.2 (#17701) * FIX: Ensure error handlers render correctly without preload_json (#17696) * DEV: Fix fake-timer issues (#17681) * Version bump to v2.8.7 (#17700) * Version bump to v2.9.0.beta8 (#17697) * SECURITY: Prevent abuse of the update_activation_email route (stable) * SECURITY: Prevent abuse of the update_activation_email route (#17694) * SECURITY: Do not cache error responses for static assets (stable) * SECURITY: Do not cache error responses for static assets (#17693) * UX: copy change (#17690) * DEV: Replace `message-bus:main` with `service:message-bus` (#17691) * DEV: Use `describe` for methods in specs * FIX: Publish membership update events when refreshing automatic groups. (#17668) * DEV: Fix flaky `FinalDestination` specs * FIX: Support for group everyone in tag setting (#17669) * DEV: Convert pm-topic-tracking-state to Ember Service (#17688) * DEV: Convert `key-value-store:main` to `service:key-value-store` (#17676) * DEV: fully rely on resize observer for resizing (#17685) * DEV: remove sidebar outlet (#17683) * DEV: Remove code that is no longer used (#17684) * PERF: Add index for TopicTimer#topic_id (#17680) * FIX: Sidebar is always disabled on wizard route (#17682) * FIX: Rejected emails should not be cleaned up before their logs (#17648) * DEV: Introduce SiteSetting to enable/disable Sidebar. (#17662) * Build(deps): Bump rqrcode from 2.1.1 to 2.1.2 (#17674) * Build(deps): Bump stackprof from 0.2.19 to 0.2.20 (#17675) * DEV: Fix mini profiler queries bg covering results (#17679) * UX: sidebar transition and styling adjustments (#17678) * FEATURE: revamped wizard (#17477) * Build(deps-dev): Bump rspec-html-matchers from 0.9.4 to 0.10.0 (#17673) * FIX: Ensure uploads work when the user's browser rewrites ellipsis (#17671) * FIX: Allow users to quote in closed topics (#17645) * UX: add bulk-select to mobile topic lists (#15386) * Update translations (#17664) * FIX: Ensure admin templates are not used for non-admin controllers (#17667) * DEV: remove `automatic_membership_retroactive` column from group model. (#17212) * FIX: Don't cook user fields to apply watched words (#17590) * FIX: Make sure user list is complete and sorted (#17616) * FIX: make sure every user instance has correct status tracking counter * UX: Replace site-settings link with "Admin" link in sidebar (#17665) * DEV: Trigger an event when a user is granted admin or moderation. (#17663) * FIX: handle correctly the case when several subscribers call trackStatus() on the user model (#17497) * DEV: Add optional timezone support to date-time-input-range (#17654) * DEV: Don’t use `change { … }.by(0)` in specs * FIX: correct mention paths in fixtures (#17660) * DEV: Add secondary sort to `Group.visible_groups` (#17659) * DEV: Fix `fabricator` deprecations (#17658) * DEV: Fix a flaky FinalDestination spec (#17655) * Build(deps-dev): Bump fabrication from 2.29.0 to 2.30.0 (#17657) * Build(deps): Bump msgpack from 1.5.3 to 1.5.4 (#17656) * DEV: Support phpBB 3.3 imports (#17641) * FIX: Linear gradient with stops makes R2 confused (#17650) * UX: make sidebar hamburger menu occupy full width (#17649) * UX: only transition header on sidebar toggle (#17646) * DEV: Populate first and last seen at timestamps. (#17643) * FEATURE: add categories page style to order topics by created date (#17500) * FEATURE: my_bb import supports avatars (#17617) * DEV: Add likes, mentions and replies tabs to the new user menu (#17623) * DEV: Fix `FinalDestination` specs (#17642) * UX: Prevent color flicker on dark themes (#17620) * FIX: improves handling of filter with invalid tag chars (#17640) * FIX: Don’t raise an error on onebox timeouts * FIX: Title for keyboard shortcuts button in sidebar (#17638) * UX: Docking/undocking sidebar toggles sidebar hamburger dropdown (#17636) * DEV: expose decorateUsername function (#17637) * Build(deps): Bump tilt from 2.0.10 to 2.0.11 (#17632) * Build(deps): Bump nokogiri from 1.13.7 to 1.13.8 (#17633) * DEV: Be specific about time units (#17629) * DEV: Remove yet another jQ use in tests (#17628) * DEV: Consistently use `response` helper (#17627) * Build(deps): Bump rack-protection from 2.2.1 to 2.2.2 (#17631) * Build(deps): Bump strscan from 3.0.3 to 3.0.4 (#17634) * DEV: Always `await` for `publishToMessageBus` (#17626) * DEV: Update `@embroider/test-setup` (#17625) * UX: Set theme color on splash a bit earlier (#17619) * UX: let hamburger-sidebar restrict child width (#17614) * UX: Updates sign up CTA copy (#17612) * UX: Prevent jitter in some onebox images (#17611) * FEATURE: Add users and groups links to community section in sidebar (#17609) * UX: Properly size emoji in sidebar section link text (#17610) * UX: Remove bookmarks link from community section (#17608) * UX: Rename Sidebar 'Topics' section to 'Community' (#17605) * UX: Set width on hamburger menu drop down to prevent overflow (#17607) * DEV: Fix failing spec due to cf5e59928eb76d5672205bb60c51cb62b32636e7 (#17606) * DEV: Add a helper method to clear every possible theme cache (#17585) * UX: Only hide section header icons when sidebar is pinned on Desktop (#17604) * FEATURE: Replace hamburger dropdown with Sidebar when undock (#17600) * DEV: Support models argument for custom sidebar section link API (#17602) * DEV: Remove reference to discourse chat in core (#17601) * DEV: Add implementations for various notification types for the new user menu (#17589) * DEV: Refactor user_badge_granted DiscourseEvent logic (#17579) * Build(deps): Bump rubocop from 1.31.2 to 1.32.0 (#17599) * DEV: Use `RenderGlimmer` for experimental user menu (#17597) * DEV: Introduce `RenderGlimmer` helper for use in widgets (#17592) * DEV: Install `ember-modifier` and `@ember/render-modifiers` (#17595) * DEV: Use a separate KVS namespace for tests (#17591) * DEV: Fix pretender leaking request handlers (#17584) * DEV: Fix pretender in poll tests (#17587) * DEV: Randomize tests order in more cases (#17588) * DEV: Tidy up create group api endpoint docs (#17586) * Build(deps): Bump excon from 0.92.3 to 0.92.4 (#17582) * FEATURE: users with no posts shouldn't able to edit username after the allowed period. (#17583) * FIX: Notify tag watchers when publishing topic (#17576) * FIX: Make group members bulk operations consistent (#17561) * FIX: pass sidebar custom link willDestroy (#17565) * UX: option to account for the sidebar in the breakpoint mixin (#17577) * FIX: badge backfilling triggers :user_badge_granted DiscourseEvent (#17514) * Build(deps): Bump tzinfo from 2.0.4 to 2.0.5 (#17578) * DEV: Make `publishToMessageBus()` wait for settled (#17575) * FIX: Ensure injections are skipped when rehydrating stale models (#17574) * FIX: Do not redeem invites if user resets password (#17486) * Update translations (#17571) * FIX: When a user status update received other users statuses were getting cleared (#17520) * FIX: Correctly pluralize sidebar strings (#17572) * FIX: `isExistingIconId()` regressed in #17553 (#17570) * DEV: Remove `adminjs` and `jsapp` symlinks (#17567) * DEV: De-jQ click-track (#17539) * DEV: Update all `uppy` deps (#17542) * FIX: Correctly invoke dynamic components by name (#17568) * DEV: Set owner for raw views * DEV: Patch Ruby Ember template compiler to work with recent ember * DEV: Silence 3.x deprecations * DEV: Remove rfc176-shims * DEV: Upgrade to Ember 3.28 * DEV: Refactor sidebar components to prepare for integration into hamburger dropdown (#17566) * DEV: Add empty array to ignored_users for currentUser fixture (#17564) * DEV: Introduce a basic version of the new notifications menu behind a feature flag (#17492) * DEV: Use `includes()` instead of `indexOf() >= 0` (#17553) * DEV: Fix typos and other spell-checker warnings (#17554) * FIX: can't hide overflow of d-editor-button-bar on mobile (#17563) * DEV: Add discourse-templates in the official plugins list (#17560) * DEV: emoji helper: add the ability to set custom title (#17517) * FIX: use padding, not margin (#17559) * UX: plus icon for sidebar messages section header (#17558) * COPY: Change "old" to "unsupported" browser (#17555) * UX: prevent sidebar count from wrapping (#17557) * PERF: avoid extra object created on each User#validatable_user_fields call (#17556) * DEV: Remove `before(:all)` from RSpec suite * FIX: Use URI#merge to merge base and relative URLs (#17454) * FIX: prevents multi-select to use noneItem for its list (#17523) * DEV: Drop the deprecated `themeSettings.blah` syntax (#17394) * DEV: updates popper to 2.11.5 (#17522) * FIX: Restrict sidebar specific select kit CSS to sidebar (#17552) * FIX: pass custom section willDestroy (#17551) * DEV: Custom section in Sidebar should implement own willDestory hook (#17550) * FEATURE: API for sidebar (#17296) * DEV: Add bookmark_id to bookmark reminder_handler notifications (#17547) * Revert "UX: Remove experimental sidebar notification text (#17290)" (#17548) * DEV: Run screen-track `run` in a runloop, drop jQ (#17545) * Build(deps): Bump rack-protection from 2.2.0 to 2.2.1 (#17546) * DEV: Don't double inject in `screen-track` (#17543) * DEV: Move emoji-store test to the correct dir (#17544) * DEV: Extensively use `includes()` (#17541) * DEV: Extensively use `startsWith()` (#17540) * UX: Prevent long toolbars from resizing the column (#17538) * DEV: Remove unnecessary `visit()` calls (#17536) * DEV: Use key names in triggerKeyEvent (#17535) * DEV: Introduce `discourseLater` (#17532) * DEV: Don't await for updateCurrentUser (#17534) * DEV: Clear tagsHtmlCallbacks after each test (#17530) * DEV: One more de-jQueryfied test (#17528) * DEV: We already restore sinon after each test (#17529) * DEV: Clear clearToolbarCallbacks after each test (#17531) * DEV: Also reset horizontal scroll after each test (#17527) * DEV: Remove frontend/core-plugins job (#17533) * DEV: introduces {{concat-class}} helper (#17526) * UX: Make space for scrollbar in mini-profiler (#17524) * UX: increase text size for mobile exp sidebar (#17521) * UX: remove .btn-default from admin btn (#17515) * UX: Prevent pre tag from making posts too wide (#17518) * FIX: Skip job if tag edit notification is disabled (#17508) * FIX: Allow Symbol objects to be deserialized in PostRevision (stable) (#17512) * FIX: Allow Symbol objects to be deserialized in PostRevision (#17510) * DEV: Check if screen-track was destroyed (#17509) * DEV: Fix state leak in QUnit acceptance tests (#17507) * FIX: Check if tags edit notifications are disabled (#17499) * FIX: Unread count badge shown for topics that user is not tracking (#17506) * FEATURE: Add plugin API to register About stat group (#17442) * FIX: support systems without SSE 4.2 (#17505) * FIX: Allow Time objects to be deserialized in PostRevision (stable) (#17502) * FIX: Allow Time objects to be deserialized in PostRevision (#17501) * FIX: bug with multiselect user field validation (#17498) * DEV: Assign Mini Profiler badge a z-index below the notifications menu (#17496) * UX: better account-created page (#17452) * Adding 3.2 to the versions of phpbb supported by the migration script (#17483) * DEV: Key the Theme `DistributedCache` on `BASE_COMPILER_VERSION` (#17495) * DEV: Remove 'legacy ember' logic from discourse-root component (#17494) * FIX: CSS tweak and production position fix for miniprofiler (#17493) * DEV: Allow sidebar section caret title to be translated (#17491) * DEV: Add per-user feature flag for the new notifications menu (#17490) * FIX: Improve reliability of topic tracking state (#17387) * FIX: Change UserCommScreener to use user_ids (#17489) * Build(deps): Bump i18n from 1.10.0 to 1.12.0 (#17487) * DEV: Fix submit-on-enter and de-jQ two components (#17484) * DEV: Use native `element.closest()` (#17482) * DEV: Fix various typos (#17485) * DEV: Unify way to reset Site.preloaded_category_custom_fields (#17384) * DEV: Remove most of jQuery usage from tests (#17474) * REVERT: remove chat submodule (#17479) * DEV: Pass through --frozen-lockfile flag for yarn install (#17478) * FIX: adjust topic avatar height to fix stickiness (#17476) * FEATURE: show status in the tooltip on the status bubble on the user menu (#17451) * DEV: Drop the `server` var in setup-tests (#17458) * DEV: Speed up composer autocomplete tests (#17461) * Version bump to v2.8.6 (#17472) * Version bump to v2.9.0.beta7 (#17471) * DEV: add `emoji` handlebars helper (#17449) * DEV: De-jQuerify safari-hacks (#17456) * DEV: Remove 6-yrs old deprecated loadScript opt (#17463) * SECURITY: Bump Rails to 6.1.6.1 (stable) (#17470) * SECURITY: Bump Rails to 7.0.3.1 (#17469) * DEV: Remove no-op autocomplete disabler (#17460) * DEV: Don't flush twice (#17462) * DEV: Remove old pretender paths (#17464) * DEV: discourse-root should be targetable (#17459) * DEV: Move mini profiler badge to the right (#17468) * UX: Fixes navigation 1px jitter (#17467) * FIX: Mobile usability issues in crawler view (#17465) * DEV: Refactor user mute/ignore/disallow PM checks into central class (#17366) * DEV: Add `normal` as an alias for `regular` in `NotificationLevels.topic_levels` (#17466) * Build(deps): Bump nokogiri from 1.13.6 to 1.13.7 (#17455) * DEV: prevents prop override and simplifies test (#17457) * FIX: fixes few regressions in select-kit (#17453) * DEV: Add plugin API to add to robots.txt (#17378) * UX: Add classes to create-account modal for easier customization (#17435) * DEV: Stop overriding an injected property in topic controller test (#17450) * Update translations (#17447) * DEV: Make sure testing-container fits in the viewport (#17446) * Revert "DEV: Update `@popperjs/core` (#17437)" (#17448) * DEV: Update `@popperjs/core` (#17437) * DEV: Remove development cache-buster query parameter (#17444) * DEV: Remove an unused js helpers file (#17439) * DEV: Simplify test setup (#17441) * FIX: Detect firefox < 89 as an unsupported browser (#17443) * FIX: Set resolver options on the legacy resolver (#17440) * DEV: Use auto-injected keyValueStore for screenTrack (#17434) * DEV: Remove asset precompilation hack (#17428) * DEV: Update `ember-resolver` (#17432) * DEV: Allow use of qunit notrycatch mode (#17433) * DEV: Remove qunit autorunner (#17430) * DEV: Update `ember-cli-handlebars` (#17429) * DEV: Remove old redis option (#17427) * Revert "UX: missing specificity (#17324)" (#17426) * UX: Fix exp sidebar toggle alignment, add hovers (#17414) * FIX: update flaky bulk invite spec (#17425) * DEV: Switch from htmlbars-inline-precompile to ember-cli-htmlbars (#17424) * Build(deps): Bump redis from 4.5.1 to 4.7.1 (#17310) * DEV: uses resize observer to compute header-offset (#17399) * DEV: Implement distributed mutex in lua (#16228) * DEV: Don't forward `test-i18n.js` requests (#17422) * DEV: Update `message-bus-client` (#17421) * DEV: Update `ember-qunit` (#17251) * DEV: Modernize component tests (#17368) * FIX: Just inline the QUnit CSS in theme-test html (#17415) * FIX: Ensure category-tag filter routes are functioning (#17420) * FIX: Apply all watched words rules to user fields * DEV: Remove old hbs-in-script warning (#17418) * FIX: Ensure splash screen `<noscript>` is loaded for legacy browsers (#17413) * DEV: Fix emoji-uploader tests (#17395) * DEV: Update @ember/test-helpers (#17247) * Build(deps): Bump rubocop-ast from 1.18.0 to 1.19.1 (#17416) * Revert "DEV: Don't vendor old qunit css (#17410)" (#17417) * DEV: Don't vendor old qunit css (#17410) * DEV: Avoid triggering 404 errors in tests (#17404) * DEV: Don't try to vibrate in test mode (#17405) * DEV: Fix test leakage/flakes (#17407) * DEV: Move scripts into theme.html body (#17409) * DEV: Update `qunit` (#17411) * DEV: Reduce jQuery usage in acceptance tests (#17406) * UX: Skip length check on reply drafts (#17408) * FIX: Ensure splash screen logic is iOS12 compatible (#17401) * DEV: Add more color schemes (#17398) * FIX: Add ember redirect for tags/:tag_id -> tag/:tag_id (#17397) * UX: less janky animation for experimental sidebar (#17396) * DEV: Future-proof ThemeJavascriptCompiler spec (#17393) * FIX: min/max username length limits weren't validated (#17382) * UX: add border-box to stop padding from overflow (#17391) * UX: Makes splash dots use theme colors (#17388) * Revert "DEV: glimmerify discourse-root (#17390)" (#17392) * DEV: glimmerify discourse-root (#17390) * FIX: Inputs using focusout regressed in #17345 (#17389) * DEV: Pass static scripts through Ember CLI (#17373) * UX: a save should always have a cancel action (#17385) * Revert "UX: Hide user menu bookmark link when experimental sidebar is enabled (#17336)" (#17386) * DEV: Silence one more test (#17375) * DEV: Don't use the deprecated route (#17376) * Build(deps): Bump rubocop from 1.31.1 to 1.31.2 (#17380) * DEV: Fix missing optional site.json fields (#17364) * DEV: Add env to enable ActiveRecord query log tags (#17383) * DEV: Remove temporary GlimmerComponent hack (#17370) * FEATURE: Publish everyone's status to everyone (#17343) * UX: don't animate experimental sidebar on reload (#17372) * FIX: Allow connector template names to be camelCase (#17371) * DEV: Make sass deprecations quieter during test build (#17369) * DEV: Allow hooks.beforeEach usage w/ component tests (#17360) * FEATURE: plugin outlet for sidebar (#17367) * DEV: Run prettier and rubocop in parallel for CI (#17357) * DEV: Reduce test noise (#17362) * Build(deps): Bump oj from 3.13.15 to 3.13.16 (#17363) * FIX: Should be UploadReference instead of UploadReferences (#17361) * UX: improve experimental sidebar transitions (#17358) * UX: switch highlight/select colours in select-kit (#17356) * DEV: Modernize Ember Resolver (#17353) * DEV: Update expand-table table query (#17347) * FIX: Ensure there is no limit on tag list settings (#17355) * FIX: Ensure pull-hotlinked can rewrite lone oneboxes (#17354) * DEV: Improve multisite db scripts in dev (#17337) * DEV: Update linting setup and fix issues (#17345) * DEV: Update `sass` (#17349) * Update translations (#17338) * DEV(cache_critical_dns): add option to run once and exit * DEV: Disable RAISE_ON_DEPRECATION (#17351) * UX: Prevent experimental sidebar scroll jumps (#17352) * UX: Splash should always stick to top left corner of the viewport (#17348) * UX: staff notice should utilize full post width (#17346) * No implicit this codemod (#17235) * UX: Prevent overlap between splash loader and splash text on some browsers take 2 (#17341) * FEATURE: Allow iframe `allow` attribute in posts (#17291) * FEATURE: auto remove user status after predefined period (#17236) * UX: Prevent overlap between splash loader and splash text on some browsers (#17340) * FIX: Correct error in ip-lookup component definition (#17339) * FIX: Posts can belong to hard-deleted topics (#17329) * UX: Hide user menu bookmark link when experimental sidebar is enabled (#17336) * UX: Update categories/tags in sidebar only after saving. (#17333) * UX: Enforce bullet category style in sidebar (#17334) * UX: mobile experimental sidebar improvement (#17302) * UX: remove hardcoded colour value (#17323) * FIX: Replace onebox markdown when pulling hotlinked image (#17328) * UX: missing specificity (#17324) * UX: Retain category badge style on categories select kit. (#17332) * Build(deps): Bump cose from 1.2.0 to 1.2.1 (#17330) * UX: Makes splash screen setting enabled by default (#17327) * DEV: Enable `no-curly-component-invocation` lint rule * DEV: Remove last few curly-component invocations * DEV: Preload CSS in the `<head>` (#17322) * FIX: Logout could fail due to cached user * FIX: Incorrect `currentUser` could be cached for requests with API key (#17279) * FIX: Logout could fail due to cached user (#17325) * FIX: Correctly display `/admin/emails` errors (#17321) * DEV: Remove handlebars from the old package.json (#17319) * DEV: Remove most jQ from select-kit test helpers (#17305) * DEV: Use npm bootstrap (#17315) * FIX: Experimental sidebar preferences link not shown for users (#17318) * FIX: Move `ember-cli-deprecation-workflow` to runtime deps (#17317) * DEV: Fix a flaky submodule/auth test (#17313) * DEV: De-jQuerify `get-url` (#17314) * DEV: Use our `ajax` helper consistently (#17304) * DEV: Generate template backing classes for app (#17300) * Build(deps): Bump oj from 3.13.14 to 3.13.15 (#17309) * Build(deps-dev): Bump minitest from 5.16.1 to 5.16.2 (#17311) * Build(deps): Bump rubocop-rspec from 2.11.1 to 2.12.1 (#17312) * Build(deps): Bump msgpack from 1.5.2 to 1.5.3 (#17306) * Build(deps): Bump rack from 2.2.3.1 to 2.2.4 (#17307) * Set up ember-cli-deprecation-workflow (#17268) * UX: Use discourse-ready as a baseline for removing the splash (#17297) * FIX: Incorrect `currentUser` could be cached for requests with API key (#17279) * UX: made "Dismiss New" button clickable by replacing `float` method. (#17288) * UX: hide sidebar li overflow, remove title margin (#17294) * UX: improve experimental sidebar scrollbar (#17293) * UX: minor experimental sidebar alignment changes (#17292) * UX: Remove experimental sidebar notification text (#17290) * FIX: Vimeo regex pattern (#17277) * FEATURE: Use full post width for Vimeo embeds (#17289) * DEV: Use performance timings to as a baseline for the splash take 2 (#17284) * DEV: Convert `{{cook-text}}` to angle-brackets (#17287) * DEV: Run angle-brackets codemod (#17286) * Version bump to v2.9.0.beta6 (#17283) * UX: Reduces splash animation delay (#17282) * FEATURE: Store sidebar section display state in local storage (#17281) * FEATURE: Decouple category/tag presence in sidebar from notifi level (#17273) * FIX: max value for SiteSetting.delete_removed_posts_after (#17270) * Build(deps): Bump rubocop from 1.31.0 to 1.31.1 (#17280) * FEATURE: whispers available for groups (#17170) * FIX: add clearfix back for admin contents (#17278) * Revert "DEV: Use `performance.timing` as a baseline for the splash (#17275)" (#17276) * DEV: Use `performance.timing` as a baseline for the splash (#17275) * FIX: keep unique post checks separate for PMs vs topics (#17272) * DEV: Rename variable in TagSectionLink JavaScript class (#17274) * Build(deps): Bump rack-test from 2.0.1 to 2.0.2 (#17269) * UX: core adjustments and styles for the experimental sidebar (#17271) * FIX: Uploading large files (> 5GB) failed when `enable_direct_s3_uploads` is enabled (#16724) * DEV: Run some specs with fake S3 implementation instead of stubs * FIX: Didn't delete upload stub when a new upload is created * FIX: Markdown handling failed on empty attribute value (#17199) * DEV: Update `qunit-dom` (#17265) * DEV: Update `jsdom` (#17264) * DEV: Update `sinon` (#17266) * DEV: Add `--forward-host` option to `bin/ember-cli` (#17244) * DEV: Allow newer versions of node (#17261) * Update translations (#17267) * DEV: Move sidebar utility class to body tag (#17259) * DEV: Update `webpack` (#17262) * UX: update color on arrow tippy box (#17263) * UX: Change copy for user-selector placeholder (#17260) * Build(deps): Bump rubocop from 1.30.1 to 1.31.0 (#17258) * UX: Update topics stats automatically (#17135) * Build(deps): Bump rack-test from 1.1.0 to 2.0.1 (#17257) * DEV: Auto-allow multisite hosts in dev (#17246) * FIX: Fix bulk_invite flaky tests (#17256) * FEATURE: Validate tags in WatchedWords (#17254) * DEV: Don't template-lint all files in lefthook (#17255) * DEV: Deprecate `DISCOURSE_DEV_HOSTS` (#17245) * DEV: Update `html-entities` (#17250) * DEV: Update `ember-cli-app-version` (#17253) * DEV: Update `ember-cli-terser` (#17252) * DEV: Update `js-yaml` (#17249) * DEV: Update `@glimmer/tracking` (#17248) * Build(deps): Bump unicode-display_width from 2.1.0 to 2.2.0 (#17243) * Build(deps): Bump pg from 1.4.0 to 1.4.1 (#17242) * Build(deps-dev): Bump parallel_tests from 3.11.0 to 3.11.1 (#17241) * FIX: Improve mixcloud oneboxing (#17237) * FIX: Defer removing the splash screen until the window load event fires take 3 (#17238) * UX: allow more mobile topic elements to be tapped (#17234) * DEV: Fix flaky tests caused by timezone updates (#17232) * DEV: Remove more legacy ember code (#17218) * FIX: Skip the window load event for now (#17231) * FIX: Defer removing the splash screen until the window load event fires take 2 (#17230) * FIX: Remove splash screen in no-js view take 2 (#17229) * DEV: Update broccoli-babel-transpiler (#17221) * FIX: Reverts #17225 & #17223 (#17228) * FIX: Uninitialized class variable error in sidekiq (#17227) * FIX: Typo in log_thread (#17226) * FIX: Defer removing the splash screen until the window load event fires (#17225) * UX: Truncate long category names in sidebar (#17203) * DEV: Ensure Sidekiq logging thread is always running (#17211) * DEV: Update xss.js (#17216) * FIX: Remove splash screen in no-js view (#17223) * UX: Makes splash setting visible (#17222) * DEV: Fix flaky admin badges.json api docs spec (#17210) * DEV: Make addons buildable on their own (#17205) * FIX: Use first supported type item when JSON-LD returns array (#17217) * DEV: Stabilize watched words order (#17215) * DEV: Drop ember-maybe-import-regenerator (#17195) * DEV: Update ember-cli-htmlbars (#17194) * DEV: Update `@glimmer/component` (#17197) * Build(deps-dev): Bump fabrication from 2.28.0 to 2.29.0 (#17213) * UX: Splash screen v1 improvements (#17214) * FIX: Use bookmarkable pattern for bookmark cleanup (#17202) * FIX: In [DELETE] /admin/user/:id.json, parse boolean block_* parameter correctly (#17201) * UX: improve group page grid sizes (#17208) * FIX: darkMode availiability detection was broken (#17207) * DEV: allows category-badge helper to display a link (#17206) * Change the background color of the user status bubble (#17204) * FEATURE: user status emoji (#17025) * FEATURE: New/unread messages count in experimental sidebar (#17117) * DEV: Update ember-source-channel-url (#17196) * DEV: Update `@ember/optional-features` (#17193) * DEV: Update ember-cli-dependency-checker (#17192) * DEV: Update ember-cli-inject-live-reload (#17191) * DEV: Update ember-buffered-proxy (#17190) * DEV: Actually debounce functions in tests (#16213) * UX: Introduces a splash screen behind a hidden site setting (#17094) * DEV: Transpile all plugin js by default (#17175) * DEV: Update ember-auto-import (#17176) * DEV: Remove `isLegacyEmber` (#17181) * DEV: add deprecation notice to `isLegacyEmber` (#17186) * Version bump to v2.8.5 (#17187) * FIX: 99999 is not a valid TCP port * FEATURE: Custom unsubscribe options (#17090) * DEV: drop unused column `flair_url` from groups table. (#17179) * DEV: Remove `isLegacyEmber()` from tests (#17184) * SECURITY: Validate email constraints when trying to redeem an invite (#17182) * FIX: tag groups were not visible to allowed group members (#17183) * Update translations (#17177) * FIX: Remove leftover uses of ember_jquery (#17178) * DEV: Update `@babel/core` (#17163) * DEV: Use path instead of absolute URL for theme test links (#17172) * SECURITY: Validate email constraints when trying to redeem an invite * FIX: Defer scripts on theme-tests route (#17171) * Build(deps-dev): Bump minitest from 5.16.0 to 5.16.1 (#17168) * DEV: Upgrade Sidekiq to 6.5 (#17142) * FIX: Quoting local dates bbcode regeneration (#17141) * DEV: Hide `content_security_policy_collect_reports` setting (#17159) * Build(deps): Bump diffy from 3.4.1 to 3.4.2 (#17167) * Update README.md (#17165) * Build(deps): Bump mini_scheduler from 0.13.0 to 0.14.0 (#17166) * Build(deps): Bump pg from 1.3.5 to 1.4.0 (#17169) * FIX: link to "recently used devices" in suspicious_login email notification (#17164) * DEV: Add a discourse-booted performance mark (#17162) * DEV: Fix flakey site.json rswag specs (#17161) * DEV: Rename `translatedtitle` to `translatedTitle` (#17160) * DEV: Fix typos "formated" -> "formatted" (#17156) * repair structural problems with the openapi spec (#16710) * DEV: Remove obsolete parts of our custom loader (#17157) * FIX: Precompile admin-plugins.js (#17154) (#17155) * FIX: Add wizard.js to ember-cli assets (#17153) * FIX: Precompile start-discourse.js (#17154) * DEV: Remove ember-cli flags from the backend (#17147) * DEV: Remove unused legacy dependencies * DEV: Remove legacy JS manifests and vendored scripts * DEV: Use the block form of `module()` (#17151) * DEV: Change `locationType` to `history`. (#17152) * DEV: Upgrade Markdown.it to v13.0.1 (#17099) * DEV: Fix `this.clearRender` deprecation warning (#17150) * DEV: Moves SVG sprite to `<discourse-assets>` element (#17148) * DEV: Adds missing defer attribute to wizard js in dev layout (#17146) * DEV: Move preloaded `json` into `<discourse-assets>` element (#17145) * FIX: stop logging blank and invalid CSP reports (#17144) * UX: Change wording for 'regular' categories to 'normal' (#17134) * FEATURE: Expand messages filter links when viewing private messages. (#17106) * DEV: Slightly defer loading Discourse stylesheets (#17078) * DEV: Remove ember legacy env conditional in sidebar tests (#17140) * DEV: Rely on route action to open composer. (#17118) * DEV: Add `before-list-area` plugin outlet (#17136) * DEV: Remove duplicate JS files (#17132) * DEV: Defer loading core/plugin/theme JS files (#17063) * FIX: Skip invalid values in site setting upload references migration (#17138) * FEATURE: Add Croatian language (#17130) * FIX: Add missing pluralization rules for Bosnian (#17131) * FIX: Extra-locale merging didn't account for fallbacks (#17128) * FIX: double selecting replies (#17086) * DEV: Remove use of run-loop-dot-access (#17114) * DEV: Allow changing APP_ROOT for puma via ENV variable (#15744) * DEV: Disable the use of 'legacy' Ember assets (#17127) * FIX: Wizard css was overriding some of core css (#17126) * DEV: Remove use of run-loop-and-computed-dot-access (#17113) * UX: Skip special paste handling in email-group-user-chooser when maximum is 1 (#17124) * DEV: Remove wizard step from docker tests (#17125) * DEV: Make wizard an ember addon (#17027) * DEV: Fix an rspec warning (#17123) * DEV: Fix various frontend warnings (#17122) * DEV: Don't print uppy warnings in test env (#17121) * DEV: Stop logging error response body in FileHelper (#17120) * DEV: Cleanup topic thumbnail enqueuing (#17119) * FIX: Make watched words uploads work as intended (#17097) * Build(deps-dev): Bump minitest from 5.15.0 to 5.16.0 (#17103) * Revert "DEV: Centralize user updates to a single MessageBus channel. (#17058)" (#17115) * FIX: JSON Schema editor layout issue with subarrays (#17112) * UX: remove extra whitespace in github onebox (#17111) * DEV: add smtp_should_reject to the receive_emails api key scope (#17110) * DEV: Handle emoji-picker and d-editor being destroyed simultaneously (#17109) * FIX: Ensure presence endpoints don't break the session (#17108) * FIX: Ensure emoji is inserted in the correct location (#17107) * PERF: remove server plugin outlet for post (#17105) * FEATURE: Add messages section links to experimental sidebar. (#17096) * DEV: Fix `javascript:update` rake task (#17098) * DEV: Update create-account test to be more clear (#17102) * DEV: @bind create-account actions (#17100) * DEV: Emit a 'change' event when PresenceChannel info changes (#17088) * FIX: Handle sites with more than 1 JSON-LD element (#17095) * FEATURE: Log the SMTP response in EmailLog (#17056) * FIX: whisper available when reply to topic (#17054) * DEV: Mark inline styles as safe (#17093) * FIX: Allow all subdomains of localhost in development (#17089) * FIX: NavItem and Composer prop overriding was broken (#17092) * Update translations (#17087) * FIX: Rake tasks related to uploads were broken (#17085) * DEV: First pass at messages section experimental sidebar (#17084) * FIX: Remove tags from experimental sidebar on notification level changed (#17083) * Build(deps): Bump zeitwerk from 2.5.4 to 2.6.0 (#17080) * FEATURE: Change auto tracking to require 5 minutes vs 4 (#17081) * PERF: Remove total for time to first response report. (#17082) * Version bump to v2.9.0.beta5 (#17077) * Version bump to v2.8.4 (#17075) * SECURITY: banner-info (#17071) (#17073) * SECURITY: banner-info (#17071) * FIX: Ensure that extract_upload_ids works with all short URLs (#17070) * Add support for JSON LD in Onebox (#17007) * FIX: Skip CSRF token check on webhook routes (#16982) * DEV: Explicitly allow NavItem customization (#17061) * DEV: Allow disabling composer submit (#17062) * FEATURE: Add new/unread counts to tags section links exp sidebar (#17057) * DEV: Ensure topic-tracking-state state change callbacks are cleaned up (#17069) * DEV: Centralize user updates to a single MessageBus channel. (#17058) * DEV: Skip flaky test. (#17068) * DEV: Skip flaky spec. (#17067) * Build(deps): Bump multipart-post from 2.2.2 to 2.2.3 (#17066) * Build(deps): Bump diffy from 3.4.0 to 3.4.1 (#17065) * Build(deps): Bump rails-html-sanitizer from 1.4.2 to 1.4.3 (#17064) * DEV: Remove old deprecations (#14906) * Update translations (#17022) * FIX: display translated fallback as the group name for custom emoji groups * DEV: add translation fallback option for i18n * FIX: allows image to be displayed at the right size * FIX: twitter onebox keeps whitespace for expanded links (#17055) * FEATURE: First pass tags section for experimental sidebar. (#17048) * Build(deps): Bump multipart-post from 2.2.0 to 2.2.2 (#17053) * DEV: Remove jquery from textarea-manipulation, improve undo handling (#17050) * DEV: Add escapeRegExp util (#17051) * DEV: Remove jquery from create-account modal (#16983) * DEV: Supress logs when RetrieveTitle.crawl fails with Net::ReadTimeout errors (#16971) * DEV: Add deprecation notice to discourse-common/utils/decorators (#17052) * FIX: Send quote notifications to correct users when prioritizing full names (#17030) * A11Y: Add keyboard support for do-not-disturb modal (#17043) * FIX: Cleanup invalid historic site setting data (#17049) * FIX: Handle empty string in theme_settings for upload_references (#17047) * FEATURE: Display new/unread count for tracked categories in exp sidebar (#17046) * FEATURE: Add section links to categories section to exp sidebar (#17035) * DEV: Remove flaky acceptance test (#17045) * FEATURE: Create upload_references table (#16146) * COPY: Use main instead of master for theme installation modal (#17044) * A11Y: Keyboard access for `/u` table headings (#17041) * DEV: Add spec for not_staged user scope (#17042) * DEV: Use nested form for `FreedomPatches` module * DEV: Fix openapi definition logo URL (#17038) * FIX: Make disabling TLS in mail possible again * Build(deps): Bump jwt from 2.4.0 to 2.4.1 (#17032) * DEV: include `time_left` information in rate limiting error messages (#17037) * Build(deps): Bump faraday-multipart from 1.0.3 to 1.0.4 (#17033) * FIX: escape youtube title when constructing onebox preview html (#16999) * FIX: Missing tracked sub category topics from tracked topic list (#17034) * DEV: Remove this chained user scope (#17029) * DEV: Add new user scopes (#17026) * DEV: Remove reply_as_new_topic from PM composer actions (#17023) * UX: Remove limit for emoji search in composer (#17014) * UX: Larger images in mobile emoji picker (#17013) * FEATURE: Allow hotlinked media to be blocked (#16940) * FIX: Correctly handle invalid auth cookies (#16995) * UX: hide select-kits when the parent element is outside the viewport * DEV: Implement "My Posts" section link for experimental sidebar (#17008) * Build(deps): Bump jwt from 2.3.0 to 2.4.0 (#17020) * Build(deps): Bump rubocop from 1.30.0 to 1.30.1 (#17019) * DEV: Allow all subdomains of localhost in development (#17018) * DEV: Remove reply_as_private_message from composer (#16979) * FIX: Seed multisite dbs after migrating in development (#17017) * FIX: Email Send post has already been taken error (#16992) * DEV: Remove unused wizard code (#17016) * FIX: Restore automatic style preview in wizard (#17015) * UX: don't tether popper to the viewport if reference is out of the viewport (#17012) * DEV: Dejquerify marking FAQ as read (#17001) * DEV: De-jQuerify is-element-in-viewport (#17000) * DEV: Remove the scheduled ember plugins workflow (#17011) * DEV: Fix broken spec due to 213bcde080dcd5fee94ea4524cc880758823f786 (#17009) * Correct type for `locked` (#16997) * DEV: Add choices only to relevant wizard fields (#16993) * Build(deps): Bump openssl-signature_algorithm from 1.1.1 to 1.2.1 (#17002) * Build(deps): Bump multipart-post from 2.1.1 to 2.2.0 (#17003) * Build(deps): Bump oj from 3.13.13 to 3.13.14 (#17005) * FIX: DiscourseConnect login did not auto approve based on email domain (#17006) * FIX: ensures composer is not pre-filled with none/all tags (#16998) * DEV: Use `@action` decorator in wizard (#16996) * FIX: Don't throw errors on wizard dropdowns (#16994) * DEV: under specific conditions (like tests) presenceState can be null (#16990) * DEV: Remove jquery from invite-panel (#16989) * DEV: Display new/unread count for tracked link in sidebar (#16957) * FIX: Approves user when redeeming an invite for invites only sites (#16987) * DEV: Fix auto start for wizard qunit tests (#16988) * FIX: Approves user when redeeming an invite for invites only sites (#16984) * FIX: Do not use SVGs for twitter:image metadata (#16973) * DEV: Remove jquery from themes list (#16980) * DEV: Remove jquery from group list (#16981) * FIX: keep composer draft when go back and forth between PM and New Topic. (#16978) * DEV: quick-access-panel setting for viewAllLabel (#16977) * SECURITY: Remove auto approval when redeeming an invite (#16976) * SECURITY: Remove auto approval when redeeming an invite (#16974) * DEV: Rephrase INSTALL-cloud DNS instructions about the IP address (#16928) * DEV: allow plugins to override max file size for avatar downloads (#16970) * DEV: emoji picker - make it possible to choose picker's placement and add a dedicated class for an anchor (#16969) * DEV: add class name to nav-bar nav items (#16968) * FIX: Harmonise category body class generation on server/client (#16967) * DEV: Mark discourse-group-tracker as official (#16574) * FIX: Show suspended by user (#16927) * FIX: Make f query param sticky when navigating between nav items (#16714) * FIX: Topic list nav items count not respecting tracked filter. (#16935) * FIX: change event target on select kit row (#16960) * Build(deps-dev): Bump bullet from 7.0.1 to 7.0.2 (#16959) * FIX: tracked filter did not account for max_category_nesting of 3 (#16963) * FIX: fallback to default push notification icon if none exists (#16961) * FIX: do not looks for plugin test js in production (#16962) * DEV: add request data to the before_session_destroy event (#16905) * Update translations (#16958) * PERF: Improve to-markdown speed, update the code (#16939) * DEV: Add to-markdown decorator functions (#16943) * UX: update chat menu popover styling (#16955) * FEATURE: allow for overlapping DiscourseConnect secrets per domain (#16915) * DEV: More efficiently trigger topic tracking state on state change (#16952) * Build(deps): Bump bootsnap from 1.11.1 to 1.12.0 (#16956) * DEV: do not trigger the user-status:changed event twice (#16954) * DEV: Add event for plugins to customize system messages (#16953) * FEATURE: propagate user status via message bus (#16944) * DEV: Avoid unnecessary sendWidgetAction function call (#16941) * Build(deps): Bump rack from 2.2.3 to 2.2.3.1 (#16948) * FEATURE: Highlight None option by default for bookmarks (#16949) * Build(deps): Bump regexp_parser from 2.4.0 to 2.5.0 (#16945) * Build(deps-dev): Bump parallel_tests from 3.10.1 to 3.11.0 (#16946) * Build(deps): Bump msgpack from 1.5.1 to 1.5.2 (#16947) * FIX: Add bookmark quick access tests and fix username (#16934) * FIX: Correctly handle nested quotes in to-markdown (#16938) * Build(deps): Bump unf_ext from 0.0.8.1 to 0.0.8.2 (#16929) * FIX: respect user timezone in emails about silencing and suspending (#16918) * FIX: changing date should recompute input (#16937) * UX: Show message if rebake fails (#16925) * UX: Make YouTube playlist onebox full width to match video onebox (#16936) * FEATURE: user status (#16875) * FIX: Incorrect URL for bookmark quick action menu (#16932) * Build(deps): Bump rubocop from 1.29.1 to 1.30.0 (#16930) * FIX: Further refine duplicate bookmark delete query (#16931) * UX: Reordered topics in INSTALL-cloud.md to add a 'Before you start' section (#16919) * FIX: Delete extraneous topic bookmarks (#16926) * DEV: Fix paths for narrative bot jobs (#16924) * PERF: Lazily lookup emoji-picker selected-diversity (#16917) * DOC(cache_critical_dns): add program description * FIX: InlineOneboxer watched word censor error (#16921) * DEV: Allow a simplier way to register a link under sidebar topics section (#16916) * FEATURE: Make S3 presigned GET URL expiry configurable (#16912) * Build(deps): Bump timeout from 0.2.0 to 0.3.0 (#16920) * DEV: Add hook for plugins modify how slugs are computed (#16907) * FIX: Apply censored words to inline onebox (#16873) * Build(deps-dev): Bump parallel_tests from 3.10.0 to 3.10.1 (#16906) * Build(deps): Bump jquery-rails from 4.4.0 to 4.5.0 (#16896) * DEV: Plugin API for plugins to add links to sidebar topics section (#16732) * DEV: Reenable wizard test after fixing auto start for wizard qunit tests * DEV: Skip wizard tests while we investigate why it fails on CI * DEV: Add env to skip wizard tests * Revert "FEATURE: Include participants in PN search data (#16855)" (#16904) * DEV: Remove unnecessary logic in TopicTrackingState on the client side (#16900) * DEV: Allow for null bookmark in bookmark-icon (#16909) * FIX: Improve bookmark-icon title (#16908) * FIX: Limits for PM and group header search (#16887) * DEV: Apply Rails 6.1 defaults * Update translations (#16902) * FIX: Skip pulling hotlinked images for nil user bio (#16901) * DEV: Bookmark cleanup (#16899) * DEV: Ignore post_id and for_topic for bookmarks (#16898) * Build(deps-dev): Bump parallel_tests from 3.8.1 to 3.10.0 (#16897) * DEV: Minor improvements to WordWatcher (#16735) * DEV: Add save_user_preferences option to BookmarkManager (#16894) * DEV(cache_critical_dns): improve postgres_healthcheck * DEV: Allow plugins to register Onebox handlers (#16870) * UX: align the trash button on the bookmark modal (#16884) * FEATURE: Pull hotlinked images immediately after posting * DEV: Map already-downloaded hotlinked images in post_process_cooked * DEV: Only demux migration stdout if running concurrently (#16895) * FIX: Applying default user options didn't work for boolean flags (#16890) * FEATURE: Site setting for blocking onebox of URLs that redirect (#16881) * DEV: Add bookmark-icon component (#16893) * FIX: Site setting changes for boolean should be logged as true/false (#16888) * REFACTOR: Remove duplicate code in `SiteSettingsController` (#16889) * Build(deps): Bump oj from 3.13.11 to 3.13.13 (#16891) * PERF: Speed up secure media and ACL sync rake tasks (#16849) * FEATURE: Promote polymorphic bookmarks to default and migrate (#16729) * FEATURE Add reset bump dates bulk action (#16885) * FIX: Refactor placement of plugin outlet & index use (#16874) * DEV: Add comment about `UserController#cards` route (#16882) * DEV: allow running plugin tests for server_plugin_outlet (#16883) * FIX: Clear inline onebox cache when a post is rebaked (#16871) * Build(deps): Bump image_size from 3.0.1 to 3.0.2 (#16876) * DEV: do not run plugin tests for server_plugin_outlet (#16880) * FIX: pass empty hash for view locals by default (#16879) * DEV: Add test ENV conditional back to server_plugin_outlet (#16878) * FEATURE: allow locals to be passed in server_plugin_outlet (#16850) * DEV: Compatibility with TruffleRuby (#16864) * FIX: Apply 'allowed_href_schemes' to all src/srcset attributes (#16860) * Build(deps): Bump json from 2.6.1 to 2.6.2 (#16848) * Build(deps): Bump rubocop-rspec from 2.10.0 to 2.11.1 (#16868) * UX: update hljs-builtin-name colour (#16863) * FIX(cache_critical_dns): use correct DISCOURSE_DB_USERNAME envvar (#16862) * FIX: Allow users to select "regular" categories (#16857) * DEV: Use new defaults for ActiveSupport::Digest * FEATURE: Include participants in PN search data (#16855) * UX: update hljs-builtin-name highlight (#16859) * FIX(cache_critical_dns): use discourse database name and user by default (#16856) * FIX: Use CSS transition to make room for composer (#16750) * DEV: New readonly mode. Only applies to non-staff (#16243) * FEATURE: Add page title to 404 pages (#16846) * DEV: Enable Rails 7 cache format version * Revert "DEV: Drop our `mail` gem fork (#16622)" (#16853) * Update translations (#16852) * FIX: `acted` state in post action like could desync with multiple likes (#16847) * UX: consistent spacing on group interaction form (#16851) * FIX: Apply 'hide email account' for invites * UX: Fix status icon size in suggested topics (#16845) * DEV: Make user field validation more specific (#16746) * UX: Add back link on taggroup page (#16700) * Build(deps-dev): Bump faker from 2.20.0 to 2.21.0 (#16842) * Build(deps): Bump rubocop-ast from 1.17.0 to 1.18.0 (#16841) * Build(deps): Bump loofah from 2.17.0 to 2.18.0 (#16726) * DEV: Remove 'htmlSafe' string prototype extensions (#16828) * DEV: Remove 'htmlSafe' string prototype extensions (#16766) * DEV: Let's deny access to sso endpoints when disabled consistently (#16752) * DEV: Add helper method for repeated sso logging pattern (#16749) * DEV: Remove 'underscore' string prototype extensions (#16748) * DEV: Remove 'decamelize' string prototype extensions (#16747) * DEV: Remove 'dasherize' string prototype extensions (#16740) * FIX: Prevent all kinds of login in readonly mode (#16743) * DEV: improve timezone API on the client (#16660) * FIX: Add safari 12 to ember-cli build targets in production (#16745) * DEV: Readonly Redis support for `DiscourseRedis#multi/pipelined` (#16744) * DEV: Setup categories section in sidebar for future work (#16733) * Build(deps): Bump rubocop from 1.29.0 to 1.29.1 (#16742) * FIX: Make read only errors respect the request format (#16741) * DEV: Add ability to populate private messages (#16705) * DEV: Remove 'classify' string prototype extensions (#16739) * DEV: Remove 'capitalize' string prototype extensions (#16738) * FIX: handle quote rendering for external Discourse instance (#16722) * DEV: Drop old hotlinked image data from post_custom_fields (#16594) * DEV: Remove string prototype extensions (#16736) * DEV: Use hybrid cookies instead of marshal ones * DEV: Add missing titles on sidebar buttons. (#16730) * FIX: Checked allowed tag when editing Reviewables (#16713) * DEV: Don't cache watched words in test env (#16731) * DEV: Minor bookmark tweaks for polymorphism (#16728) * FIX: auto margins cause too-narrow content (#16725) * COPY: Improve trust level promotion PM copy (#16727) * DEV(cache_critical_dns): add SRV priority tunables * DEV: Expose user action types where the user was the instigator (#16723) * DEV: introduces setup for d-popover (#16720) * FIX: Show error message if extensions cannot be created (#16719) * DEV: Ensure service-worker sourcemap logic works with brotli/gzip (#16718) * PERF: Update all user_histories with one query in UserDestroyer (#16717) * Revert "DEV: Update add_column migration to remove transaction (#16715)" (#16716) * DEV: Update add_column migration to remove transaction (#16715) * DEV: Fix production sourcemaps with Ember CLI (#16707) * DEV: Ensure service-worker sourcemap URLs do not duplicate extension (#16704) * FIX: do not log category custom fields changes if the value is unchanged (#16712) * FIX: Create PostgreSQL extensions before migrating (#16158) * DEV: First pass at side topics section (#16697) * UX: fix various login modal issues on mobile (#16708) * FIX: Use our header value instead of custom header on duplicates (#16711) * DEV: Fix not being able to boot Sidekiq server in development (#16696) * FIX: Use registered bookmarkables for BookmarkManager (#16695) * FIX: Allow .ics for polymorphic bookmarks (#16694) * Build(deps): Bump strscan from 3.0.2 to 3.0.3 (#16709) * Update translations (#16701) * FEATURE: Allow category moderators to post consecutively (#16706) * FIX: Store scroll position when using Back button (#16658) * Fix user nav overflow bug on ipad (#16702) * FEATURE: Introduce site setting to allow for non staff pm tagging (#16671) * DEV: Remove ie 11 from build targets (#16652) * UX: allows to close popover on escape (#16698) * DEV: Upgrade to Rails 7.0.3 * FIX: Apply watched words to user fields * UX: prevent user grid blowout on full page search (#16672) * Build(deps): Bump net-http from 0.2.0 to 0.2.2 (#16689) * Build(deps): Bump regexp_parser from 2.3.1 to 2.4.0 (#16690) * Build(deps): Bump strscan from 3.0.1 to 3.0.2 (#16691) * FIX: Polymorphic bookmarks for bookmark report (#16693) * FIX: Use hidden site setting for batch presign rate limit (#16692) * DEV: Remove PostAction/UserAction bookmark refs (#16681) * FIX: Use polymorphic bookmarks for in:bookmarks search (#16684) * FIX: add support for pipelined and multi redis commands (#16682) * FIX: Background like count update didn't account for own user actions (#16688) * DEV: Move SidekiqLogsterReporter out of initializer (#16687) * FIX: Prioritize names and usernames consistently (#16686) * FEATURE: Restore scroll on user activity pages (#16661) * FEATURE: Promote the "delete group" staff action log. (#16656) * FIX: Limit pan event handler to fix scrolling in TOC (#16673) * FIX: Use proper ActiveRecord method in import scripts * Build(deps): Bump rubocop from 1.28.2 to 1.29.0 (#16678) * Build(deps-dev): Bump test-prof from 1.0.8 to 1.0.9 (#16677) * Build(deps): Bump nokogiri from 1.13.5 to 1.13.6 (#16676) * FIX: ensures d-popover closes when clicking on popper (#16675) * FIX: Polymorphic bookmarks for new user narrative bot (#16683) * FEATURE: Polymorphic bookmarks pt. 3 (reminders, imports, exports, refactors) (#16591) * DEV: allows to set a class on d-popover component (#16670) * FIX: Ensure theme JavaScript cache get consistent SHA1 digest (stable backport) (#16669) * DEV: Add last_seen_reviewable_id to the users table (#16666) * DEV: Unflak-ify tests and make them more robust (#16659) * DEV: Remove monkey patch that is no longer required (#16648) * DEV: Remove an obsolete config line (#16668) * Build(deps): Bump json_schemer from 0.2.20 to 0.2.21 (#16667) * DEV: Replace postCreateCommand with postStartCommand (#16665) * add translations for subcategories_with_featured_topics (#16663) * FEATURE: Validate setting combination between exif strip and img opt (#16662) * UX: remove horizontal scoll from narrow screens (#16657) * FIX: prevents double user_badge_granted event (#16654) * FIX: Prevent admin theme settings from blowing up (#16653) * DEV: Remove last instance of {{with}} helper (#16651) * UX: Ensure `#main-outlet-wrapper` takes full width. (#16650) * FIX: Validate post's polls as acting user (#16638) * DEV: First desktop design interface pass at experimental sidebar take 2. (#16647) * Revert "DEV: First desktop design interface pass at experimental sidebar (#16590)" (#16646) * FIX: Topic view breaks with topic timer to publish to restricted category. (#16385) * DEV: First desktop design interface pass at experimental sidebar (#16590) * DEV: Remove ignored columns (#16645) * DEV: Bump aws gems (#16632) * DEV: Use `FakeLogger` in RequestTracker specs (#16640) * DEV: Minor fixes to json schema editor styling (#16634) * DEV: Drop `TrackingLogger` for `FakeLogger` (#16642) * DEV: Compatibility with TruffleRuby (#16641) * DEV: add new plugin outlets (#16643) * FIX: Users with unicode usernames unable to load more topics in activity (#16627) * Build(deps): Bump nokogiri from 1.13.4 to 1.13.5 (#16644) * DEV: Add discourse-gamification to the official plugins (#16639) * FIX: Add email to admin user list when show_emails is enabled (#16636) * DEV: Convert notify_about_queued_posts_after to accept a float (#16637) * DEV: Convert notify_about_flags_after to float (#16633) * DEV: Fix stylesheet watcher (#16635) * DEV: Improve lefthook config and remove some slow hooks (#16626) * FIX: Missing translation when translation override contained a `%{key}` (#16625) * Build(deps-dev): Bump discourse_dev_assets from 0.0.3 to 0.0.4 (#16631) * DEV: Drop our `mail` gem fork (#16622) * DEV: Use Ember getter and explicitly check for undefined (#16618) * FIX: Skip invalid custom_field json in hotlinked_media migration (#16630) * DEV: replace depreciated {{hasBlock}} (#16629) * FIX: Validate permalink_normalizations setting (#16604) * FEATURE: Add fallback to suggested value when auth_overrides_username (#16612) * Build(deps): Bump oauth from 0.5.9 to 0.5.10 (#16628) * DEV: Fix typos and outdated comments (#16614) * DEV: Use cloneJSON instead of spread operator (#16615) * DEV: Remove RTLit gem (#16620) * FIX: Handle enum types during database restore (#16624) * FIX: destroys instance when hiding date popover (#16623) * DEV: Update puppeteer, fix deprecations, lint (#16616) * FIX: Handle invalid JSON from downloaded_images custom fields (#16613) * DEV: Add Ember CLI workspace license checks (#16603) * FIX: Handle duplicates in hotlinked_media migration (#16611) * FIX: updated filtered replies when replies exist (#16610) * Build(deps): Bump oauth from 0.5.8 to 0.5.9 (#16607) * DEV: Update ember-try to 2.0.0 (#16606) * FIX: Ensure post_hotlinked_media index does not exceed size limit (#16609) * Update translations (#16608) * DEV: Move hotlinked image information into a dedicated table (#16585) * DEV: Lock logster to 2.11.0 (#16605) * FIX: avoid concurrent usage of AR models (#16596) * DEV: Clear local stylesheet caches when working on WCAG color schemes (#16600) * UX: Fix hover state for flat buttons in WCAG schemes (#16601) * UX: Add a brief accessibility summary to the README (#16602) * DEV: Fix typo in customize-robots-txt (#16599) * FIX: closes popover when downloading calendar (#16598) * Update wordpress scopes and add ``session/scopes`` endpoint (#15366) * FIX: uses tippy for popover (#15409) * UX: Display user.username on user cards (#16539) * FEATURE: introduce a sitewide setting for disabling suggesting weekends in time pickers (#16563) * DEV: Allow Codespaces host when in Codespaces (#16595) * UX: Reset `mark` element highlight for WCAG schemes (#16593) * DEV: mbox importer improvements (#16557) * FEATURE: Optionally skip using full_name when suggesting usernames (#16592) * DOC: tighten directory permissions in cloud installation * Build(deps): Bump loofah from 2.16.0 to 2.17.0 (#16589) * UX: Add time_shortcut.now translation (#16588) * FIX: Ensure values are escaped in select-kit dropdowns (#16586) * FEATURE: Add `group_messages:` keyword to advanced search (#16584) * DEV: Minor workflow updates (#16583) * UX: improve the list of options on the slow mode modal (#16561) * FIX: show group in filter only if user can see the members list. (#16580) * DEV: Remove deprecated Codespace setting (#16582) * DEV: Add support for GH Codespaces to ember proxy (#16581) * Build(deps): Bump net-protocol from 0.1.2 to 0.1.3 (#16579) * Build(deps): Bump logster from 2.11.1 to 2.11.2 (#16577) * DEV: Upgrade to Rails 7 * DEV: Partially revert 98c49acad5fbacee543505313998e4f05d0b35c7 (#16578) * FIX: Ensure values are escaped in select-kit dropdowns (#16576) * Build(deps): Bump logster from 2.11.0 to 2.11.1 (#16550) * DEV: Setup experimental sidebar skeleton (#16575) * Build(deps): Bump excon from 0.92.2 to 0.92.3 (#16573) * UX: Move post date under title in share-modal (#16455) * Build(deps-dev): Bump mocha from 1.13.0 to 1.14.0 (#16559) * Update translations (#16566) * DEV: make API of future-date-input more customizable and aligned with the API of time-shortcut-picker (#16502) * FIX: prepare data before creating chart to avoid side effect (#16570) * FIX: remove refresh seconds override on cache_critical_dns (#16572) * FIX: cache_critical_dns - add TLS support for Redis healthcheck * DEV: refactor cache_critical_dns for SRV RR awareness * FEATURE: Add in:messages search modifier (#16567) * UX: Larger clickable area for mobile topic list (#16473) * FEATURE: Scope search to PMs when in that context (#16528) * DEV: Add CI job that audits dependency licenses (#16568) * DEV: Ensure theme tests are always loaded in a consistent order (#16569) * UX: fix topic admin menu layout for short screens (#16565) * UX: Tweak topic-admin-menu alignment/size (#16564) * DEV: prefix group name when appended as class (#16556) * UX: prevent group mention from wrapping (#16558) * FIX: prefers computed over discourseComputed (#16562) * UX: ask for confirmation when deleting a post using shortcut (#16526) * UX: Fix a few WCAG color scheme contrast issues (#16554) * UX: organize topic admin menu into groups (#16489) * FIX: Correctly handle the print param on topics#show. (#16555) * FIX: Check 2FA is disabled before enabling DiscourseConnect. (#16542) * REFACTOR: live-development.js (#16548) * FIX: properly clean Thunderbird emails, don't remove links (#16543) * DEV: Ensure `custom_fields_clean?` returns false when values change (#16552) * FIX: Ensure lazy-load-images does not remove entire `img.style` (#16553) * DEV: Fix test hook placement (#16551) * REFACTOR: add-archetype-class mixin (#16546) * Build(deps): Bump rubocop from 1.27.0 to 1.28.2 (#16549) * Build(deps-dev): Bump rspec-rails from 5.1.1 to 5.1.2 (#16545) * Build(deps): Bump regexp_parser from 2.3.0 to 2.3.1 (#16544) * DEV: Ensure ember-cli `rake theme:qunit` works with CSP enabled (#16541) * FIX: Use username for nested quotes (#16523) * DEV: Allow running theme-qunit tests via testem (#16540) * DEV: Fix `loadScript()` in ember-cli testem env (#16533) * DEV: Clean up `loadScript()` (#16537) * DEV: Don't clean outlet and html caches twice (#16534) * DEV: Don't use `Dir.chdir()` (#16535) * FIX: Show footer on the categories page (#16538) * DEV: Don't leave loadScript tests hanging (#16536) * FEATURE: Detect emoji from Emoji 14.0 (#16531) * FEATURE: Polymorphic bookmarks pt. 2 (lists, search) (#16335) * FIX: replaces discourseComputed by computed (#16530) * DEV: Ensure a broken tag_group relation doesn't raise an error (#16529) * DEV: Allow Ember CLI assets to be used by development Rails app (#16511) * FIX: showing icons on future-date-input options (#16527) * FEATURE: Show prompt for required tag groups (#16458) * DEV: use the only source for time shortcut options on all date pickers (#16366) * DEV: drop the unused invite-link-panel component and related unused code (#16435) * FEATURE: Site setting to cap the recipient list in notification emails * DEV: Remove unused code and rename interpolation key * REFACTOR: admin-customize-colors-show (#16525) * Revert "DEV: Update to Sprockets 4.0 (#16467)" (#16524) * FIX: Do not error when json-serialized cookies are used (#16522) * FEATURE: Enables support for dark mode emails (#16520) * DEV: Prioritize full name when display_name_on_posts active (#16078) * FIX: Show footer at the end of topic list (#16519) * FIX: Add missing translations for medium format (#16517) * DEV: Upgrade Sidekiq to 6.4.2 * UX: Show all pie legend options for long polls (#16510) * Add a test for topic timer notice * DEV: adds an above-user-summary-stats outlet (#16426) * Build(deps): Bump rubocop-rspec from 2.9.0 to 2.10.0 * FIX: Skip upload extension validation when changing security (#16498) * A11Y: fix WCAG contrast for notification header (#16507) * FEATURE: Block indexing the embed topic list (#16495) * Wait to display notice on topic timer (#16509) * DEV: Add test for web hooks and topic tags changes (#16493) * UX: Add title to read time stats from user page (#16501) * FIX: Don't allow DiscourseConnect logins in readonly mode (#16508) * UX: more descriptive moderator manage setting (#16492) * FIX: Return a 404 when a sitemap request doesn't have a format (#16506) * DEV: Update browser policy to include iOS 12 (#16503) * Update translations (#16505) * UX: Improves select-kit body placement when vertical space is short (#16504) * REFACTOR: badge-button (#16500) * REFACTOR: admin-user-field-item (#16499) * FIX: Ensure 'crop' always returns requested dimensions (#16437) * FIX: Check if bookmarkable column exists before adding (#16497) * FIX: Issues with incorrect unread and private message topic tracking state (#16474) * UX: Add more detail to remove full quote site setting description (#16494) * DEV: Accept `force_respect_seen_recently` argument in UserEmail job (#16460) * FIX: warn_exception expect hash as second arg (#16490) * FIX: Show dismiss all modal in user-notifications page (#16491) * UX: minor email group chooser alignment fix (#16487) * UX: minor adjustment to login/signup close position (#16488) * FIX: Do not show visibility topic if visible (#16478) * UX: improve small action button alignment (#16486) * validate markdown_linkify_tlds setting (#16485) * FIX: don't validate and render the polls inside a quoted post. (#15019) * update email dark mode styles (#16484) * DEV: Add index to each helper for access within topic-list-items (#16483) * FIX: Email styles for Gmail app dark mode (#16482) * update dark mode email styles (#16480) * DEV: Cleanup `body.scrollTop` usage (#16445) * FIX: Buggy topic scrolling on iOS 12 (#16422) * Version bump to v2.9.0.beta4 (#16477) * Version bump to v2.8.3 * SECURITY: Ensure user-agent-based responses are cached separately (stable) (#16476) * SECURITY: Ensure user-agent-based responses are cached separately (#16475) * REFACTOR: Add `full_url` to `Group` * REFACTOR: Add `full_url` and `display_name` to `User` * FIX: Href attribute for post-date link (#16471) * Revert: UX: Make full topic row clickable on mobile (#16440) (#16472) * UX: minor mobile topic list alignment adjustments (#16470) * FIX: Add href to post-date link element (#16469) * FEATURE: add `user_suspended` attribute in post serialize. (#16413) * DEV: Update to Sprockets 4.0 (#16467) * FIX: prevents error with emoji autocomplete (#16465) * FEATURE: Add 2FA support to the Discourse Connect Provider protocol (#16386) * Revert "DEV: Update to Sprockets 4.0 (#16459)" (#16466) * DEV: Update to Sprockets 4.0 (#16459) * DEV: Remove scoped order warning in PostDestroyer. * DEV: user-preference-page class on solo-perference * Build(deps): Bump parser from 3.1.1.0 to 3.1.2.0 * Build(deps): Bump public_suffix from 4.0.6 to 4.0.7 * Update translations (#16456) * FIX: update dark mode emails styles (#16461) * FEATURE: Improve screened IPs roll up and extend for IPv6 (#15585) * DEV: Cleanup `body.scrollTop` usage (#16445) * UX: Make full topic row clickable on mobile (#16440) * FEATURE: Let sites add a sitemap.xml file. (#16357) * FIX: Ensure allowed_tags and allowed_tag_groups can be removed (#16454) * SECURITY: Update Nokogiri to 1.13.4. * SECURITY: Update Nokogiri to 1.13.4. * FEATURE: Add a sidekiq job for syncing S3 ACLs (#16449) * Revert "Build(deps): Bump nokogiri from 1.13.3 to 1.13.4" * FIX: Email logs not finding attached incoming email (#16446) * Improve docked progress position on mobile * add classes to danger buttons on user admin * UX: add margin to security key button * Build(deps): Bump nokogiri from 1.13.3 to 1.13.4 * remove avatars next to 'read more' in summary email (#16439) * UX: Less specific styling for Auth logins (#16393) * FEATURE: Add email dark mode (#16104) * DEV: Update Moment to 2.29.2 (#16423) * FEATURE: Sortable json-editor items (#16403) * DEV: Move tag_group cleanup from post_migrate -> migrate (#16434) * FIX: Ensure category_required_tag_groups are destroyed with tag_groups (#16433) * Build(deps): Bump rubocop from 1.26.1 to 1.27.0 (#16427) * Build(deps): Bump rubocop-ast from 1.16.0 to 1.17.0 (#16425) * DEV: Don't check `this.element` in `@afterRender` (#16033) * DEV: Add pretender endpoint for category visible groups. * FIX: Fall back to clipboard.writeText if ClipboardItem not supported (#16419) * DEV: Add pretender endpoint for category visible groups. * DEV: Minor in-progress-uploads refactor (#16430) * FIX: Buggy topic scrolling on iOS 12 (#16422) * PERF: Speed up admin user list main query (#16412) * SECURITY: Category group permissions leaked to normal users. * FIX: Serialize permissions for everyone group * DEV: Fix failing share topic tests (#16309) * FIX: Show restricted groups warning when necessary (#16236) * SECURITY: Category group permissions leaked to normal users. * FIX: Serialize permissions for everyone group * DEV: Remove comment that doesn't make any sense. * FIX: Clean required category tag groups with invalid tag_group ids (#16414) * UX: Apply crawler styling to `<noscript>` content * UX: Make header/footer HTML consistent for crawler and noscript * UX: Make crawler view usable under different color schemes * FIX: Ensure legacy browser handling uses full <noscript> content * DEV: Always run all three qunit partitions, even with earlier failure (#16411) * DEV: Fix flaky `tags-test` (#16410) * Build(deps): Bump msgpack from 1.5.0 to 1.5.1 (#16407) * FIX: hide user notifications tab for moderator users. (#16406) * Build(deps): Bump msgpack from 1.4.5 to 1.5.0 * FIX: uppy-image-uploader and uppy-upload mixin minor issues (#16405) * DEV: Improvements to UppyUploadMixin to use ExtendableUploader (#16383) * DEV: pass user to badge page outlet (#16395) * Revert "UX: Inline code block edit (#16394)" (#16404) * FIX: Prevent duplicates in API scope allowed URLs * FIX: Include routes in an API scope's allowed URLs even if they have no format constraints * FEATURE: allow for local theme js assets (#16374) * DEV: Improve `ember test` (testem) output (#16401) * DEV: Fix "overridden" typos (#16399) * DEV: Update xss.js package (#16398) * DEV: Remove deprecated pretty-text functions/file (#16397) * UX: Inline code block edit (#16394) * FIX: Exclude automatic anchors from search index (#16396) * FIX: Limit max word length in search index (#16380) * DEV: Improve `plugin:versions` task (#16391) * DEV: Don’t patch Sanitize::Config * PERF: Throttle updates to API key last_used_at (#16390) * FEATURE: Allow multiple required tag groups for a category (#16381) * DEV: optionally removes links/avatars from user-info (#16388) * FIX: include crawler content on old mobile browsers (#16387) * DEV: Clean up freedom patches * DEV: Use pick-files-button in composer-editor and clean up (#16375) * FIX: users watching tags in open tag groups not notified (#16384) * Build(deps-dev): Bump test-prof from 1.0.7 to 1.0.8 * UX: Update crawler view styles to be more readable (#16361) * DEV: Make DistributedMemoizer use DistributedMutex (#16229) * DEV: Fix select-kit deprecations (#15080) * DEV: Fix styleguide label regression (#16379) * Update translations (#16378) * FIX: no need to hide "Later This Week" when showing "Later Today" (#16365) * FIX: Ensure images do not change height when loading is complete (#16368) * UX: Require a password for invited users (#16291) * FIX: Redirect user to topic they were invited to (#16298) * DEV: Use settled ember test helper instead of attempting to rerender. * FIX: Do not attempt to pull_hotlinked_image for raw_html * FIX: Auto-generated emails causing group SMTP email storm (#16372) * DEV: add composer cancelled event triggers (#16371) * FIX: 500 error when creating a user with an integer username (#16370) * FIX: update 'posted' column on post owner change (#16367) * FIX: review queue scrolling is not working after take an action. (#16346) * Build(deps): Bump json_schemer from 0.2.19 to 0.2.20 * Fix the empty page copy on the user activity page * Build(deps): Bump loofah from 2.15.0 to 2.16.0 * DEV: Support qunit_disable_auto_start in ember CLI (#16358) * DEV: Minor linting fixes (#16359) * linting (#16360) * DEV: Replace deprecated String.prototype.substr() (#16233) * FIX: stop sorting options in date-pickers on the bookmark modal and the topic-timers modal (#15750) * DEV: Safari's window.innerWidth doesn't match CSS * DEV: pass user to user-summary outlets * DEV: Restore order assertion in category serializer tests. (#16344) * DEV: Fix flaky specs (#16340) * FIX: can_permanently_delete should check for admin (#16348) * FIX: Abort theme creation if unable to create uploads (#16336) * DEV: Restore order assertion in category serializer tests. (#16344) * Build(deps): Bump rspec-mocks from 3.11.0 to 3.11.1 (#16351) * Build(deps): Bump pg from 1.3.4 to 1.3.5 (#16350) * Build(deps): Bump excon from 0.92.1 to 0.92.2 (#16349) * FIX: Build correct post and topic shareUrl (#16332) * DEV: Add tests for accessibility changes * A11Y: Make user avatars in posts stream untabbable * A11Y: Improve accessibility of embedded replies below post * A11Y: Improve accessibility of likes/read count post buttons * A11Y: change tabLoc tagName from <a> to <span> * A11Y: Include username in aria-label of post region * DEV: Remove grant admin 2FA modal (#16347) * UX: Add details button to admin bounced/rejected lists (#16343) * FIX: Ensure ActiveSupport::Inflector is used by Zeitwerk (#16341) * DEV: Remove chat plugin button (#16342) * DEV: Fix flaky specs (#16340) * Build(deps): Bump puma from 5.6.2 to 5.6.4 (#16331) * Build(deps): Bump lograge from 0.11.2 to 0.12.0 (#16330) * Build(deps-dev): Bump parallel_tests from 3.7.3 to 3.8.1 (#16305) * Build(deps): Bump actions/cache from 2 to 3 (#16296) * SECURITY: Avoid leaking private group name when viewing category. (#16339) * SECURITY: Avoid leaking private group name when viewing category. (#16337) * FIX: Hide tag count in tag filter when in a category context (#16327) * DEV: Include helper in core for `applyLocalDates` (#16325) * FIX: flips popper when top position is chosen incorrectly (#16333) * DEV: add plugin outlets for user badges (#16334) * FEATURE: DiscourseEvent hook for sync_sso (#16329) * DEV: Skip notifications without topic_id in `ensure_consistency` (#16299) * Revert "A11Y: Make the views column in topics lists tabbable" (#16321) * REFACTOR: Abstract search link click logging (#16317) * Update translations (#16314) * DEV: Drop `enable_long_polling` and `long_polling_interval` settings (#16323) * FEATURE: Polymorphic bookmarks pt. 1 (CRUD) (#16308) * UX: Use committed date for GitHub oneboxes (#16318) * Build(deps-dev): Bump fabrication from 2.27.0 to 2.28.0 (#16319) * FIX: Close user/group card on esc key press (#16306) * UX: Indicate that "Show replies" button does not work for deleted posts (#16304) * PERF: Update UserDestroyer to fetch histories and actions in batch (#16316) * FIX: Don’t put the whole sidekiq conf in `to_prepare` * DEV: Remove Zeitwerk inflection monkey patch. * FIX: Maintain HTML `<img` when downloading remote images (#16278) * DEV: Remove hardcoded ID in test fabrication. (#16313) * DEV: Fix failing share topic tests (#16309) * DEV: New plugin outlets for user and user-card (#16307) * DEV: add testing for multi del on keys (#16271) * FIX: Validate category tag restrictions before sending new topics to review (#16292) * FIX: Resetting selectable avatars was failing (#16302) * DEV: Add additional outlet to user-card next to `message` button (#16300) * FIX: Show restricted groups warning when necessary (#16236) * DEV: Add polyfill for `String.prototype.replaceAll` (#16301) * FEATURE: Support upload:// urls in img tags (#16277) * DEV: Register question_answer_user_commented notification type. (#16297) * DEV: Remove underscore versions of TextareaTextManipulation functions (#16285) * DEV: Make Bookmark#post_id column nullable (#16287) * Build(deps): Bump parallel from 1.22.0 to 1.22.1 (#16295) * DEV: Be more lenient in CLI confirmation (#16290) * FIX: Do not wrap unaccent around tsqueries (#16284) * DEV: Rename param passed to updateNotificationLevel (#16289) * FIX: Bug setting notification level to muted/ignored on user page (#16268) * DEV: Promote historic post_deploy migrations (#16288) * DEV: Make tests more resilient (#16279) * DEV: Remove old link building code. (#16121) * DEV: Fix "serialize to JSON safely" deprecation (#16280) * Build(deps): Bump uniform_notifier from 1.15.0 to 1.16.0 (#16281) * UX: cleaner messages for empty state on the user activity topics page (#16267) * FIX: Add `errors` field if group update confirmation (#16260) * A11Y: Make the views column in topics lists tabbable * A11Y: Improve topic entrance modal * A11Y: Add `aria-label`s to topics list column headers * A11Y: Add aria-label to the Replies cell in topics list * SECURITY: Hide private categories in user activity export (#16276) * SECURITY: Hide private categories in user activity export (#16273) * FIX: Don't attempt to focus .title in topic-list-item if it doesn't exist (#16274) * DEV: Add useUploadPlaceholders to composer-upload-uppy (#16272) * DEV: Use composerEventPrefix for paste in textarea-text-manipulation (#16262) * DEV: Add `registerCustomLastUnreadUrlCallback`to plugin API (#16222) * FIX: closing the picker shouldn't propagate the pointer event (#16266) * FIX: Make sure max_oneboxes_per_post is enforced (#16215) * DEV: Update Uppy to 2.1.6 (#16227) * FIX: Allow `@ember/test` import in embercli prod builds (#16264) * FIX: Don't listen for focus/blur events if the topic-list opts out of last visited focus (#16263) * A11Y: Focus last viewed topic in topic lists (take 3) (#16257) * DEV: Re-add polymorphic bookmark columns (#16261) * Build(deps): Bump concurrent-ruby from 1.1.9 to 1.1.10 (#16259) * Build(deps): Bump rubocop from 1.26.0 to 1.26.1 (#16258) * Version bump to v2.8.2 * Version bump to v2.9.0.beta3 (#16256) * FIX: Do not raise if title cannot be crawled (#16247) * DEV: Add discourse-bcc to the official plugins (#16251) * Revert "A11Y: Focus last viewed topic in topic lists (#16240)" (#16255) * DEV: Only raise `rake themes:update` errors when flag provided (#16254) * DEV: appEvent to close user card (#16253) * A11Y: Focus last viewed topic in topic lists (#16240) * FIX: Ensure all/none subcategory filters work correctly with tags * FIX: Issue 404 for invalid `/tags/c/...` routes * Update translations (#16250) * DEV: Drop padStart and padEnd polyfills (#16249) * FIX: Add replaceAll to browser-detect (#16248) * Revert "DEV: Re-add polymorphic bookmark columns (#16245)" (#16246) * DEV: Re-add polymorphic bookmark columns (#16245) * DEV: Merge two spec files (#16244) * FIX: staff should not be able to PM groups that "Nobody" can message (#16163) * Build(deps): Bump uniform_notifier from 1.14.2 to 1.15.0 (#16241) * Build(deps): Bump parallel from 1.21.0 to 1.22.0 (#16242) * FIX: When using Ember CLI, plugin admin code was not being loaded in tests (#16239) * Revert "FEATURE: Let reviewables override the score type title. (#16234)" (#16238) * FEATURE: Let reviewables override the score type title. (#16234) * DEV: Add `SKIP_DB_CREATE` option to docker:test (#16225) * DEV: Refactor tag-show route (#16217) * DEV: Add clipboardCopyAsync API to utilities (#16232) * Build(deps): Bump excon from 0.92.0 to 0.92.1 (#16230) * DEV: Update fireworm package (#16226) * DEV: Add chromium to ChromeInstalledChecker (#16224) * DEV: Add missing service injections (#16223) * FIX: Reset last sent for existent bookmarks (#16202) * DEV: Refactor d-section to function correctly with loading-slider (#16216) * DEV: Don't load bundler when installing plugin gem. (#16176) * DEV: Pull compatible version for plugins in Github test workflow. (#16219) * DEV: Pull compatible version for plugins in Github test workflow. (#16212) * DEV: Run tests on push to beta and stable branch too. (#16209) * DEV: Allow params to be passed on topic redirects (#16218) * FEATURE: Allow users to paste animated gifs into composer (#16204) * DEV: Backport Github test workflow to stable. (#16210) * update button label to be more clear (#16205) * DEV: Reserve assigned notification type (#16207) * FEATURE: Update push notification icons (#16206) * FIX: Ember test imports, again (#16203) * FIX: Ember test entries in discourse-loader (#16201) * DEV: Remove unused uri parameter (#16179) * FIX: Show bookmark options by default when editing (#16189) * DEV: Reserve usernames for chat and sunset `chat_group_mention` (#16200) * FIX: remove racing requests for admin users (#15936) * DEV: Support `registerWaiter` import in legacy env (#16195) * FIX: Skip ember-cli build memory optimisation for multiple rake tasks (#16198) * DEV: Update copyright year in README. (#16197) * FEATURE: enable canonical url indexing (#16196) * DEV: Log more when verbose_upload_logging is enabled (#16177) * FEATURE: Replace share-popup with share-topic (#16108) * DEV: Stop live-reloading locally on SCSS changes (#16193) * UX: Styling changes to global banner (#16191) * DEV: Don't install plugin gems twice (#16192) * Update translations (#16194) * FIX: Always include the first poster when converting to PM (#16187) * FEATURE: use canonical links in posts.rss feed (#16190) * PERF: Fix n+1 for categories + featured topics (#16188) * Build(deps): Bump loofah from 2.14.0 to 2.15.0 (#16186) * DEV: Ensure yarn dependencies are installed during docker.rake (#16185) * UX: Hide group avatar flair block if it's empty * DEV: Remove duplicated methods (#16178) * DEV: Use Ember CLI for docker.rake CI testing (#16182) * FIX: Do not run Ember CLI chunk files through babel twice (#16183) * DEV: Check if show-modal container is viable (#16170) * DEV: Deprecate /posts/:id/reply-ids/all (#16136) * DEV: Use the --no-rebase option of `git pull` (#16180) * DEV: Make decorator method names debug-friendly (#16181) * FIX: J/K post stream navigation inconsistencies (#16171) * DEV: Install the `@ember/jquery` package to remove warning (#16165) * Build(deps): Bump excon from 0.91.0 to 0.92.0 (#16174) * Build(deps): Bump logster from 2.10.1 to 2.11.0 (#16173) * Build(deps): Bump unf_ext from 0.0.8 to 0.0.8.1 (#16172) * UX: Tweak the "new" badge size, position, color (#16168) * DEV: Bump chrome-launcher/chrome-remote-interface (#16160) * FIX: return nil when RetrieveTitle.crawl fails (#16167) * FIX: Update topic route id param (#16166) * UX: Allow d-editor to be shrunk (#16164) * FIX: Invalidate site settings cache in all instances (#16155) * FIX: Update group inbox notifications on archive/unarchive (#16152) * FIX: Apply onebox blocked domain checks on every redirect (#16150) * Remove a few words for clarity (#16162) * Build(deps): Bump pg from 1.3.3 to 1.3.4 (#16161) * DEV: Fix rake qunit logging (#16159) * FIX: Buggy jump-to-post on Firefox (#16153) * FIX: Include engine mount path for API scopes added by plugins (#16154) * Update translations (#16132) * DEV: Enable Ember CLI tests in GitHub Actions for official plugins (#16148) * DEV: Don't mutate `Excon.defaults[:middlewares]` (#16151) * Build(deps): Bump rubocop from 1.25.1 to 1.26.0 (#16149) * DEV: Disallow `Ember` global usage (#16147) * DEV: A manual test waiter might not be needed (#16142) * DEV: Remove "empty" template code (#16140) * PERF: avoid following links in topic RSS feeds (#16145) * FEATURE: add nofollow to RSS alternate link in topics and categories (#16013) * FIX: Allow admins to change user ignore list (#16129) * Build(deps): Bump redis-namespace from 1.8.1 to 1.8.2 (#16126) * DEV: Upgrade Rails to 6.1.4.7. (#16143) * DEV: Update security policy (#16144) * DEV: Fix a flaky validation message (#16141) * FEATURE: Add mobile support for subcategories-with-featured-topics (#16118) * Build(deps): Bump bootsnap from 1.10.3 to 1.11.1 (#16139) * FIX: Only display the first listed price (#16138) * FIX: Make reply-ids public by fixing a typo (#16137) * FEATURE: Highlight expired bookmark reminders (#15317) * FEATURE: Add link to original image in lightbox (#15640) * FIX: Show 404 html on /posts/:id/raw and /p/:id (#16131) * DEV: Make `find_post_using` raise only `Discourse::NotFound` (#16133) * DEV: Remove unused scss (#16134) * DEV: using send can be harmful, public_send is less risky (#16135) * UX: print view always shows 0 votes, hide it (#15901) * FEATURE: Add new site setting list type with name and values (#16045) * Build(deps-dev): Bump rspec-rails from 5.1.0 to 5.1.1 (#16127) * Build(deps): Bump mini_sql from 1.3.0 to 1.4.0 (#16128) * Build(deps): Bump jmespath from 1.6.0 to 1.6.1 (#16125) * FEATURE: Use Postgres unaccent to ignore accents (#16100) * DEV: Use Ember imports in the styleguide code (#16123) * DEV: Make `settled()` work in the legacy env (#16122) * UX: Fix misaligned avatar (#16120) * FIX: Update and rebake uses of the old centralized avatar service (#16086) * FIX: prevents self-reference to discoveryTopics from discoveryTopics (#16114) * DEV: Don't load bundler when installing plugin gem. (#16117) * FIX: Better 0 file size detection and logging (#16116) * Build(deps-dev): Bump faker from 2.19.0 to 2.20.0 (#16115) * DEV: Drop lodash (#16110) * DEV: Bump eslint-config-discourse (#16109) * DEV: Use `Map()` to store emoji groups (#16065) * Build(deps): Bump rails_multisite from 4.0.0 to 4.0.1 (#15575) * DEV: Remove remnants of nginx-perf-report plugin (#16107) * DEV: Actually focus stuff in tests (#16102) * FIX: Support new layout on Amazon product pages (#16091) * DEV: Add API scope for categories endpoint (#16105) * FEATURE: Introduce 'Subcategories with featured topics' view (#16083) * DEV: Add api scoping for updating topics. (#16101) * DEV: Allow `@discourseComputed` in native classes (#16097) * DEV: drops jquery for scroll-top mixin (#16099) * UX: Add description to the 2FA page when adding new admins (#16098) * FIX: iOS do not have working push notifications yet (#15888) * FEATURE: API to create user's associated account (#15737) * UX: Differentiate 'emails disabled' notice for 'yes' and 'non-staff' (#16096) * FIX: save email rejection error class names for incoming email logs (#16095) * FIX: correctly notifies subscribers with post_action_destroyer (#16084) * FEATURE: prioritize group search order based on prefix match (#16093) * DEV: add class name to custom footer html (#16089) * DEV: remove wrap from discovery-list-container-top (#16090) * FIX: calculate docking - include offset of main (#16079) * DEV: Typo. (#16092) * DEV: Refactor model/post-stream to support any filter. (#16081) * DEV: Remove notify user topic from share modal (#16085) * FEATURE: Return geoname IDs from MaxMindDb (#16082) * Top level replies (#16087) * FIX: indirectly muted categories for topic-tracking-state (#16067) * Update translations (#16074) * DEV: API to add keyboard shortcuts to help modal (#16075) * DEV: Automatically require 'rails_helper' in all specs (#16077) * DEV: Make load order consistent for `rake plugin:spec` (#16076) * DEV: Correctly detect plugin JS with `.br.js` extension (#16073) * DEV: Ensure source-identifier works during theme qunit (#16072) * FIX: Minor indentation fix for fullscreen code (#16071) * FEATURE: Add fullscreen button for code blocks (#16044) * Build(deps): Bump rubocop-rspec from 2.8.0 to 2.9.0 (#16070) * DEV: Correctly tag heredocs (#16061) * UX: Remove loading spinner from emoji picker (#16064) * FIX: Setting emoji filter from initial autocomplete (#16063) * DEV: refactor JS files to not use `self = this` in code. (#15095) * DEV: uses vanilla js to fetch csrf token instead of jquery (#16069) * DEV: Freeze time in time-sensitive specs (#16062) * DEV: Remove use of Discourse application code in migration. (#16068) * DEV: Fix random typos (#16066) * FIX: Make sure html_raw is hoisted in custom markdown cook function (#16050) * Build(deps): Bump stackprof from 0.2.18 to 0.2.19 (#16053) * DEV: Update sinon (#16056) * DEV: Fix a nokogiri deprecation (#16060) * DEV: Fix specs deprecations (#16059) * DEV: Clean up the decorators file (#16058) * DEV: Fix the javascript:update rake task (#16057) * FIX: on mobile, overflow on post controls if there are many buttons (#16054) * FIX: Respect the cooldown window when editing a flagged topic. (#16046) * DEV: Bump rack-mini-profiler to 3.0.0 (#16052) * FEATURE: Add ENV to control themes:update errors (#16051) * FIX: new indirectly muted category (#16043) * FIX: avoid validations when destroying posts (#16049) * FIX: Move selectable_avatars_mode_validator_spec to new directory (#16048) * FEATURE: upload an avatar option for uploading avatars with selectable avatars (#15878) * FIX: Use the category's text-only description in the category-chooser (#15735) * FEATURE: Automatically select share URL (#16025) * DEV: allow min_posts to be automatically passed (#16042) * UX: Change color functions to match original primary, tertiary functions (#16040) * FEATURE: Show topic visited state on search page (#15994) * DEV: Ensure Mini Profiler's `cookie_path` is not empty or nil (#16039) * UX: Improve timeline touch hit areas (#16038) * FIX: Sanitize parameters provided to user actions * FIX: dev subfolder session cookies (#16031) * DEV: Improve background-request information in request_tracker (#16037) * DEV: Don't check `this.element` in `@afterRender` (#16033) * DEV: prevents warnings with EMBER_CLI being redefined (#16035) * FIX: Don't warn on empty .discourse-compatibility (#16032) * FIX: Don't advance draft sequence when editing topic title (#16002) * FIX: Respect text direction inside quotes (#16004) * DEV: Add force_quote_link option to PrettyText (#16034) * Build(deps): Bump pg from 1.3.2 to 1.3.3 (#16030) * DEV: Mark `discourse-automation` as official (#16029) * DEV: Normalize `ol` and `ul` styling (#16027) * PERF: Only subscribe to `/new` when logged in (#16028) * DEV: cleanup is-loading state of d-button component (#16012) * PERF: perform all cached counting in background (#15991) * PERF: Bump message_bus to 4.2 (#16026) * PERF: Use a shared message for replies to tracked topics (#16022) * Update translations (#16024) * DEV: refactor components to use discourse-computed decorator without reference to `this` (#16011) * Build(deps): Bump nokogiri from 1.13.1 to 1.13.3 (#16023) * Build(deps): Bump rubocop-ast from 1.15.2 to 1.16.0 (#16020) * FEATURE: adds the user_promoted event to webhooks (#15996) * Build(deps): Bump parser from 3.1.0.0 to 3.1.1.0 (#16018) * DEV: Fix SMTP bounce regexp (#16019) * FIX: Show invite button if users can be invited (#16014) * FEATURE: Rename Reset Read bulk action to Defer (#15972) * FIX: Show links with 0 clicks in top links section (#16016) * FEATURE: Replace share post popup with share modal (#15875) * FEATURE: Disable indexing of non-canonical pages by default (#16015) * FIX: Allow none category if default is none (#15995) * DEV: Remove child theme settings/variables from parent compilation (#16001) * FIX: Use fresh theme setting values when compiling stylesheets * DEV: Use the theme cache helper for settings * DEV: Enable the use of Glimmer components (#15999) * FIX: Ensure category/tag classes are added and removed correctly (#16003) * Build(deps): Bump json_schemer from 0.2.18 to 0.2.19 (#16007) * FIX: Conform EmailLog#bounce_error_code to RFC (#16010) * UX: Add discourse-follow to official plugin list (#16005) * DEV: Add message-bus analysis script (#15979) * FEATURE: allow moderators to bulk change ownership (#15997) * PERF: Load all common passwords in one go (#15986) * DEV: Move spec/components to spec/lib (#15987) * FIX: Increase FinalDestination MAX_REQUEST_SIZE_BYTES (#15998) * DEV: Remove DiscourseRedis.namespace (#15993) * FIX: Count clicks on links with query params (#15969) * FEATURE: Add settings to scale daily flags limit (#15983) * PERF: Reduce anon_polling_interval to match long_polling_interval (#15992) * FIX: Handle `nil` values in `DistributedCache#defer_get_set` (stable) (#15980) * UX: display post count badge even when user has only two posts. (#15990) * FIX: ReplyByEmailAddressValidator should leverage EmailAddressValidator * DEV: pull email address validation out to a new EmailAddressValidator * UX: Fix alignment on full page search (#15988) * DEV: Remove mock_redis (#15985) * DEV: Move text area surround code out of d-editor (#15950) * UX: Styleguide changes & color variable additions (#15984) * FIX: update `can_see_members` attribute after leaving a group. (#15982) * UX: Change styling of admin bulk invite button (#15981) * Build(deps): Bump faraday from 1.9.3 to 1.10.0 (#15976) * Build(deps): Bump stackprof from 0.2.17 to 0.2.18 (#15975) * FIX: Handle `nil` values in `DistributedCache#defer_get_set` (#15978) * UX: Add 'update' to theme error message (#15977) * PERF: Bump message_bus to 4.1 (#15973) * FEATURE: Centralized 2FA page (#15377) * FIX: Don't accept accents in slug if generation_method == 'ascii' (#15702) * FIX: backport caret moves to a wrong position when uploading an image via toolbar (#15865) * FEATURE: mute subcategory when parent category is muted (#15966) * FEATURE: Show error if invite to topic is invalid (#15959) * Revert "A11Y: Use dynamic type scaling on iOS devices (#15967)" * A11Y: Use dynamic type scaling on iOS devices (#15967) * DEV: Improve phpBB3 import script (#15956) * PERF: Skip running 'auto_leave' during every PresenceChannel method (#15970) * DEV: Allow access to ember-computed-decorators under ember-cli (#15945) * FEATURE: New plugin API to check if upload is used (#15545) * FIX: Load short upload URLs only once (#15918) * DEV: Add chat_quoted notification type (#15968) * FIX: unable to filter user directory when sorted by user field. (#15951) * DEV: Improve ArgumenError raised in PostOwnerChanger. (#15907) * DEV: Drop user_stats count column constraints (#15949) * PERF: introduce site/global emoji cache (#15899) * UX: prevent user menu overflow on tiny screens (#15964) * UX: control whitespace on categories topic list (#15965) * UX: Use autocomplete="off" for date-picker (#15963) * Build(deps): Bump rails_failover from 0.7.3 to 0.8.1 (#15962) * Build(deps): Bump rack-protection from 2.1.0 to 2.2.0 (#15961) * Build(deps): Bump msgpack from 1.4.4 to 1.4.5 (#15960) * FIX: Defer upload extension check for iOS (#15890) * DEV: Update lefthook (#15911) * Fix bug regarding Chat on stable (#15954) * PERF: Reduce number of EXPIRE calls from CachedCounting (#15958) * DEV: Consolidate Redis evalsha logic into DiscourseRedis::EvalHelper (#15957) * FIX: Do not increase invite count for current user (#15952) * FIX: Redis may not be availiable on Redis initializer (#15955) * FIX: Tag show - hide no topics footer until there are no topics (#15756) * Update translations (#15928) * PERF: Use Redis `SET EX GET` instead of LUA script for counting (#15939) * DEV: Update Discord API domain (#15953) * DEV: Add bounce_error_code to EmailLog (#15948) * Build(deps): Bump i18n from 1.9.1 to 1.10.0 (#15947) * FIX: Post migration to fix custom emojis with secure URL (#15944) * Build(deps): Bump simplecov_json_formatter from 0.1.3 to 0.1.4 (#15946) * Build(deps): Bump jmespath from 1.5.0 to 1.6.0 (#15943) * DEV: Prefix deprecation notices with plugin name (#15942) * Build(deps): Bump pg from 1.3.1 to 1.3.2 (#15941) * DEV: Ensure stylesheet sourcemap URLs include __ws hostname param (#15934) * UX: Improve default_code_lang copy (#15940) * Build(deps): Bump loofah from 2.13.0 to 2.14.0 (#15926) * Build(deps): Bump rubocop-ast from 1.15.1 to 1.15.2 (#15925) * Build(deps): Bump rqrcode from 2.1.0 to 2.1.1 (#15924) * Build(deps): Bump regexp_parser from 2.2.0 to 2.2.1 (#15923) * Build(deps): Bump puma from 5.6.1 to 5.6.2 (#15922) * DEV: Make user card non-clickable for anon users: (#15938) * DEV: Don't import year of birth (#15937) * FIX: Update application_helper logic now that Ember CLI is default (#15935) * FIX: Ensure theme JavaScript cache get consistent SHA1 digest (#15933) * DEV: Correct service-worker sourceMappingURL (#15916) * PERF: Terminate `rake` process during `ember build` (#15920) * FEATURE: Use new topic-chooser for invite modal (#15884) * PERF: Update ember-auto-import and webpack (#15919) * DEV: Prefix deprecation notices and api warnings with theme name/id * DEV: Improve theme error handling UX * Version bump to v2.8.1 * DEV: Expand UploadMarkdown generation capabilities (#15930) * Version bump to v2.9.0.beta2 (#15932) * FIX: Cooking custom emojis should not use a secure URL (#15929) * SECURITY: Onebox response timeout and size limit (#15927) * SECURITY: Onebox response timeout and size limit (#15927) * UX: crawler view always shows 0 votes, hide count (#15903) * DEV: Embed source content in JS sourcemaps (#15914) * FIX: Default settings for phpBB3 import were broken (#15913) * DEV: Connect pretty-text console to the Rails logger (#15909) * I18N: improve 'here_mention' site setting's description (#15912) * DEV: Add include_all_pms option to TopicQuery (#15742) * UX: Add whos-online to official plugin list (#15910) * Build(deps-dev): Bump rswag-specs from 2.5.0 to 2.5.1 (#15898) * DEV: Bump Theme::BASE_COMPILER_VERSION. (#15906) * DEV: Make DiscourseRedis#del support deleting multiple keys (#15905) * DEV: Fix small typo. (#15904) * Revert "DEV: Prefix deprecation notices and api warnings with theme name/id" (#15902) * Revert "DEV: Improve theme error handling UX" (#15900) * DEV: Document external topic id endpoints (#15897) * Build(deps-dev): Bump annotate from 3.1.1 to 3.2.0 (#15895) * FIX: Update user stat counts when post/topic visibility changes. (#15883) * FIX: subcategory filter limits results (#15655) * DEV: Allow focusComposer to reply to existing topic (#15896) * DEV: Prefix deprecation notices and api warnings with theme name/id * DEV: Improve theme error handling UX * Add classes to user stats, move likes received (#15892) * FIX: Defer upload extension check for iOS (#15890) * DEV: Ensure Ember CLI sourcemaps are uploaded to S3 (#15893) * UX: Search spacing & position changes (#15882) * DEV: Do not include CDN domain in the sourceMappingURL (#15887) * DEV: Do not run ember-cli output through terser again (#15889) * FEATURE: cache last post number (#15772) * Build(deps-dev): Bump rspec from 3.10.0 to 3.11.0 (#15880) * Build(deps-dev): Bump rswag-specs from 2.4.0 to 2.5.0 (#15879) * DEV: Update api docs to update username and to get post replies (#15881) * FIX: inline onebox for github (#15859) * FIX: topic tracking state for tags (#15623) * DEV: Deprecate `assert.not()` (#15595) * FIX: use `prev_period` data if `prev30Days` value is not available. (#15867) * DEV: Drop unused pluralization ruleset (#15863) * FEATURE: Redeem invites for existent users (#15866) * DEV: Include DISCOURSE_REDIS_REPLICA_HOST in cache_critical_dns (#15877) * FIX: Avoid errors when updating post and topic count user stats. (#15876) * FEATURE: RS512, RS384 and RS256 COSE algorithms (#15868) * FIX: Replace Twitter handles one at a time (#15870) * DEV: add native lazy loading for emojis (#15830) * DEV: adds initial support for custom blocks using code fencing (#15743) * FIX: Sort group owners and members together (#15708) * FIX: Clear drafts only when post is created by real user (#15720) * DEV: Make clipboardCopy util available for import (#15874) * DEV: Add focusComposer to composer controller (#15872) * FIX: Avoid raising error when updating post and topic count user stats. (#15873) * FEATURE: Add external_id to topics (#15825) * DEV: Add Windows Hello webauthn authentication spec (#15871) * Revert "DEV: Prioritize full name when setting active (#15820)" (#15869) * DEV: Prioritize full name when setting active (#15820) * Update translations (#15864) * FEATURE: RS512, RS384 and RS256 COSE algorithms (#15804) * DEV: Ensure that Discourse global is available for widget init (#15862) * DEV: Make Ember CLI assets the default in production (#15861) * DEV: Add tests for wistia onebox. (#15860) * Build(deps): Bump request_store from 1.5.0 to 1.5.1 (#15641) * FIX: Explicitly set `allowfullscreen` on Wistia Oneboxes (#15828) * FIX: Overridden MessageFormat fallbacks (#15855) * DEV: Fix typo. (#15857) * FIX: Align progress text (#15856) * Revert "PERF: Update ember-auto-import (#15814)" (#15854) * Build(deps): Bump sidekiq from 6.4.0 to 6.4.1 (#15853) * FIX: Further reduce the input of to_tsvector (#15716) * Revert "DEV: Make Ember CLI assets the default in production (#15843)" (#15852) * DEV: Stringify keys of nested hashes in job arguments (#15850) * DEV: Make `:send_system_message` arguments strings (#15851) * UX: Fix login header z-index (#15848) * DEV: Send message to DiscourseHub when dismissing (#15849) * DEV: Add Ember-CLI backwards compatibility for Discourse.Site (#15847) * Revert "DEV: Add context in `AdminConstraint` (#15838)" (#15845) * DEV: Introduce deprecation warning for non-json Job arguments (#15842) * DEV: Load all vendor files for theme-qunit under prod ember-cli (#15844) * DEV: Make Ember CLI assets the default in production (#15843) * DEV: Fix some regexes in phpBB3 import script (#15829) * DEV: Add context in `AdminConstraint` (#15838) * DEV: Improve handling of invalid requests (#15841) * Build(deps): Bump in_threads from 1.5.4 to 1.6.0 (#15642) * FIX: Do not override mobile scroll on docked progress element (#15840) * FEATURE: in result.rb don't use email for username suggestions until enabled in settings (#15586) * FIX: User option fields definition was being mutated on save (#15837) * FEATURE: Allow sending group SMTP emails with from alias (#15687) * DEV: Remove deprecated site settings. (#15725) * FIX: Handle addressable error when parsing an invalid URL. (#15836) * FIX: Add DB constraints for post & topic counter cache for `UserStat` (#15626) * FIX: allow native lazy loading attribute for quoted avatar image (#15834) * Build(deps): Bump ipaddr from 1.2.3 to 1.2.4 * Build(deps-dev): Bump rb-fsevent from 0.11.0 to 0.11.1 * Build(deps): Bump excon from 0.90.0 to 0.91.0 * DEV: Improve test paths pattern for Ember CLI. * FIX: Better param guards for `wiki` and `post_type` posts controller. * FEATURE: Split up text segmentation for Chinese and Japanese. * DEV: Update :critical_user_email calls to use strings (#15827) * DEV: Use string timestamp when enqueuing update_top_redirection (#15826) * DEV: Ensure `delay_for` and `queue` are not passed as job arguments (#15824) * DEV: Update more Jobs#enqueue calls to use strings (#15823) * DEV: Include exception class in Discourse.warn_exception log (#15822) * DEV: Use strings for :user_email job type argument * DEV: Ensure Sidekiq job arguments have stringified keys * DEV: remove the includeMidFuture option on future-date-input (#15818) * Update translations (stable) (#15819) * Increase geographical diversity of quotes (#15813) * DEV: Route Sidekiq logs to Rails logger (#15817) * Update translations (#15816) * Revert "FIX: Image sizes were slightly off in some cases (#15678)" (#15815) * FIX: Caret moves to a wrong position when uploading an image via toolbar (#15684) * FEATURE: Select range in topic list with Shift + click (#15682) * DEV: dry up formatting of time options in time-shortcut-picker (#15810) * PERF: Update ember-auto-import (#15814) * FIX: Table pasting issues with uppy (#15787) (#15812) * FEATURE: Add requestCustomMarkdownCookFunction API (#15753) * FIX: Table pasting issues with uppy (#15787) * FEATURE: Ability to re-order value lists (#15775) * DEV: update show social login logic (#15809) * DEV: new plugin outlet on user page (#15808) * DEV: Add category-color variable (#15807) * DEV: Don't allow users to immediately reinvite (#15722) * Build(deps-dev): Bump rspec-rails from 5.0.2 to 5.1.0 (#15789) * Build(deps-dev): Bump fabrication from 2.26.0 to 2.27.0 (#15801) * DEV: Improve Ember module shims under Ember CLI (#15795) (#15806) * Revert "PERF: Update ember-auto-import (#15695)" (#15805) * A11Y: Switch to using `autocomplete="off"` (#15802) * FEATURE: Onebox for news.ycombinator.com (#15781) * Revert "DEV: Improve Ember module shims under Ember CLI (#15795)" (#15803) * DEV: Update Font Awesome to 5.15.4 * Build(deps): Bump excon from 0.89.0 to 0.90.0 (#15574) * Build(deps): Bump i18n from 1.8.11 to 1.9.1 (#15797) * Build(deps): Bump puma from 5.5.2 to 5.6.1 (#15796) * DEV: Ensure Sidekiq warnings are logged to STDERR (#15800) * Build(deps-dev): Bump fabrication from 2.24.0 to 2.26.0 (#15798) * Build(deps): Bump rspec-mocks from 3.10.2 to 3.10.3 (#15799) * Build(deps): Bump pg from 1.2.3 to 1.3.1 (#15794) * DEV: Improve Ember module shims under Ember CLI (#15795) * Build(deps): Bump rubocop-rspec from 2.7.0 to 2.8.0 (#15793) * Build(deps): Bump nokogiri from 1.12.5 to 1.13.1 (#15573) * Build(deps): Bump zeitwerk from 2.5.3 to 2.5.4 (#15792) * UX: Support `type=search` inputs in inline forms (#15790) * Build(deps): Bump rspec-core from 3.10.1 to 3.10.2 (#15788) * Build(deps): Bump rubocop from 1.25.0 to 1.25.1 (#15791) * DEV: Refactor `Site` creation in tests (#15707) * PERF: Update ember-auto-import (#15695) * DEV: Use MiniSql ActiveRecordPostgres adapter (#15767) * Build(deps): Bump sidekiq from 6.3.1 to 6.4.0 (#15665) * DEV: Use non-builtin net-pop, net-imap and net-smtp for Ruby 3.1+ (#15692) * FIX: Liking whispers should not contribute to `Topic#like_count`. (#15703) * Build(deps): Bump mini_racer from 0.6.1 to 0.6.2 (#15620) * Use Xorcist.xor! instead of refinements since Ruby 3.2+ removes Refinment-include (#15694) * A11Y: Use `autocomplete=off` more widely (#15780) * Build(deps): Bump bootsnap from 1.9.4 to 1.10.3 (#15779) * FEATURE: Validate domain settings for blocked_onebox_domain only (#15754) * FIX: Only block domains at the final destination (#15689) (#15783) * DEV: Remove jQuery UI vendor dependencies (#15782) * FIX: Canonical Message-ID was incorrect for some cases (#15701) * FIX: Regression in timezone name localizations (#15761) * DEV: Add plugin outlet to `topic-list-item.hbs` (#15776) * DEV: Revisit skipped tests (#15769) * Update DEVELOPER-ADVANCED.md (#15770) * FIX: Qunit tests were failing if your node was defaulting to IPV6 (#15773) * FIX: aria label for popup-input-tip (#15724) * FIX: post mover validation color and message (#15688) * FEATURE: New plugin outlets for categories-boxes template (#15771) * FIX: Image sizes were slightly off in some cases (#15678) * FEATURE: Partial match aliases in emoji filter (#15613) * DEV: Simplify header width css (#15746) * FIX: Composer fields on small desktop sizes (#15729) * UX: Highlight "Users" link when on adminUser path (#15739) * UX: Slightly tweak admin/customize/themes CSS (#15712) * UX: Add hover style to refresh-page dismiss button (#15711) * DEV: Refactor clean-dom (#15609) * FIX: Remove svg icons from webmanifest shortcuts (#15765) * DEV: Remove install-imagemagick script (#15768) * DEV: Follow up jQ file upload removal in #15376 (#15766) * Update translations (#15763) * PERF: attempts to resort to compute markdown in less cases (#15762) * FEATURE: Use native color-picker (#15748) * FIX: some options on the topic timer modal weren't timezone aware (#15749) * FEATURE: show the this weekend option on the bookmark modal (#15755) * DEV: uses innerHTML to decide if fast-edit is possible (#15760) * FEATURE: make the use_email_for_username_and_name_suggestions setting visible and on by default on existing sites (#15751) * PERF: prevents any fast edit work if you can't edit (#15759) * A11Y: Use `autocomplete="off"` for composer title (#15758) * DEV: Update oj gem (#15713) * FEATURE: Update cppjieba_rb to latest (#15718) * UX: Add text-decoration to <ins> and <del> (#15726) * DEV: Clean up skipped tests (#15747) * FIX: show the `Next Monday` label instead of `Monday` on Sundays (#15745) * Only block domains at the final destination (#15689) * UX: try select-kit autocomplete Chrome fix (#15752) * I18N: Improve copy on blocked words error messages (#15741) * DEV: remove unused function in d-editor (#15680) * DEV: Add backwards-compat for SiteSettings/User globals in ember-cli (#15719) * DEV: Add markdown_additional_options to Site (#15738) * DEV: Remove jQuery UI vendor dependencies (#15700) * Update app/assets/javascripts/discourse/tests/setup-tests.js * DEV: Clean up HTML state between tests * FIX: remove duplicated word from client strings * Revert "Revert "DEV: Run Ember CLI tests in random order" (#15717)" * Version bump to v2.9.0.beta1 (#15732) * Version bump to v2.8.0 * Merge diffs from main * Update translations (#15731) * DEV: Fix typo in comment. * FIX: Prevent "integer out of range" when merging post timings (#15723) * FIX: This was causing a flaky test in Ember CLI * Revert "DEV: Run Ember CLI tests in random order" (#15717) * FIX: Allow staff to reset passwords by username (#15709) * DEV: Run Ember CLI tests in random order * Update translations (#15705) * DEV: Move OAuth2UserInfo deprecation to after_save (#15704) * DEV: Update fixture to fix tests (#15699) * FIX: Client should be able to route ID-less topic URLs (#15697) * Update translations (#15696) * FIX: Single line emojis has emoji metadata indexed twice. * FIX: Improve top links section from user summary (#15675) * DEV: use query() instead of queryAll() in tests (#15681) * FIX: Restore outlet in mobile views (#15683) * Update translations (#15673) * DEV: Do not use hard-coded everyone group id (#15679) * FIX: Tests should never cloak posts * DEV: In themes:update, only update themes which are out-of-date (#15676) * FIX: Select topics instead of posts (#15674) * DEV: Add test for avatar-uploader (#15633) * DEV: Simplify emoji-uploader tests (#15672) * FIX: Select best link from Atom feed (#15663) * DEV: Clear custom field preload proxy on preload_custom_fields (#15671) * DEV: Add more info to N1 custom field error (#15670) * FIX: Handle malformed URLs in `TopicEmbed.absolutize_urls`. * FIX: The service observer was using `this` incorrectly * FIX: Add another method to check binary file (#15648) * FIX: possible ReDOS in markdown newline rule (#15646) * DEV: This ensures that teardowns are executed if initializers are run * FIX: Allowed URLs for API scopes added by plugins (#15662) * DEV: A bunch of tests (like controller) weren't cleaning up * FIX: Display composer popovers over dropdowns (#15659) * FIX: correctly access last poster username (#15661) * A11Y: tag should be "role" not "aria-role" (#15653) * FIX: Create email token with correct scope (#15658) * A11Y: do not use duplicate IDs (#15654) * UX: Fix composer popup placement (#15660) * FIX: Ensure that login does not fail for users with invite records (#15647) * FIX: Prefer email when resetting password (#15650) * FIX: Respect blocked domains list when redirecting (#15656) * Build(deps-dev): Bump fabrication from 2.23.1 to 2.24.0 (#15652) * FEATURE: Store dismissed state of topic nav popups (#15570) * FIX: Hide excerpt of binary files in GitHub onebox (#15639) * DEV: Update GitHub actions config (#15636) * DEV: Try to download missing uploads from origin URL (#15629) * DEV: Quick fix to flaky test (#15644) * FIX: Tag watching for everyone tag groups (#15622) * Build(deps): Bump rubocop from 1.24.1 to 1.25.0 (#15643) * FIX: Disable service worker proxying in chrome 97-97.0.4692 (#15638) * DEV: Add chat_group_mention notification type (#15616) * DEV: add empty state placeholder to styleguide (#15617) * Update translations (#15637) * FIX: Mark invites flash messages as HTML safe. (#15539) * FIX: Ensure floating quote button is not positioned under sidebar (#15634) * FIX: Quick-quote on Safari (#15631) * FIX: Ensure method exists before calling (#15632) * FIX: Add `/session/sso` service-worker workaround for chrome 97 (#15630) * FIX: Attempt to fix flaky test by using a shorter topic (#15627) * DEV: Update `rake qunit:test` and `rake plugin:qunit` to use `testem` * DEV: Update plugin JS loading in Ember CLI testem environment * UX: Apply new quote-button spacing behavior to all mobile devices (#15608) * DEV: Remove duplicate key in fixture (#15625) * FIX: Autocomplete incorrectly replacing text if used mid sentence. * UX: Fix layout issues with long category names (#15604) * FEATURE: Export topics to markdown (#15615) * FIX: origins_to_regexes should always return an array (#15589) * DEV: Wait for initdb to complete in docker.rake (#15614) * FIX: Broken GitHub folder onebox logic (#15612) * DEV: Restore tests for inserting images as separate paragraphs (#15601) * FIX: correctly uses the name helper for selected content (#15610) * UX: center emoji picker when limited space (#15607) * UX: No border-radius on textarea (#15594) * DEV: Fix a computed override in tests (#15596) * DEV: Use a real image to fix a net::err in tests (#15597) * DEV: Improve stability of Tests (#15591) * DEV: Skip failing flaky tests for now (#15605) * FIX: Improve emoji upload UI (#15603) * UX: Animate the movement of the quote button on selection change (#15590) * FIX: Ensure floating quote button is distanced from iOS selection (#15588) * FIX: Emoji group not actually saving (#15602) * DEV: Remove duplicated emoji files (again) (#15593) * Build(deps): Bump rspec-expectations from 3.10.1 to 3.10.2 (#15598) * Build(deps-dev): Bump listen from 3.7.0 to 3.7.1 (#15599) * Build(deps-dev): Bump bullet from 7.0.0 to 7.0.1 (#15600) * FEATURE: Add missing emojis (#15582) * DEV: fix tests (#15587) * UX: flat-btn should also respond to Enter (#15584) * FIX: Pass category and tag IDs to the emit webhook event job. (#15568) * FIX: limits pre-line impact to tweet text (#15583) * FIX: Selected group cleared between emoji uploads (#15581) * DEV: Add `after-topic-progress` plugin outlet (#15572) * DEV: Ignore plugin YAML files. * DEV: Fix missing test paths for Ember CLI (#15578) * DEV: Fix typo for email encoded (#15577) * UX: Use https protocol for markdown help link (#15576) * DEV: Support for running theme test with Ember CLI (third attempt) * DEV: Fix readme CI badge (#15569) [skip ci] * Version bump to v2.8.0.beta11 (#15567) * Version bump to v2.7.13 * FIX: attempts to compensate for first line spacing with pre-line (#15566) * FIX: prevents tweets to lose format in onebox (#15565) * DEV: using Enter on a focused button should trigger action (#15564) * SECURITY: Do not sign in unapproved users (#15552) * DEV: Fix deprecation warning after updating to messabe_bus 4.0.0. * FIX: Bypass service worker on the SSO path (#15558) (#15560) * Revert "DEV: Support for running theme test with Ember CLI (second attempt)" (#15559) * FIX: Bypass service worker on the SSO path (#15558) * DEV: Bump bundler from 2.2.26 to 2.3.4 (#15549) * UX: adjust invite and related form spacing (#15556) * Build(deps): Bump ecma-re-validator from 0.3.0 to 0.4.0 (#15557) * DEV: Update message_bus to 4.0.0 (#15553) * FIX: navigate to topic/PM regardless of Shift key press (#15551) * DEV: Support for running theme test with Ember CLI (second attempt) * SECURITY: Do not sign in unapproved users (#15552) * DEV: Add integration test for refreshing discovery-topics views * DEV: Use Ember router to determine currentURL * DEV: Allow utility class domFromString to take in strings with multiple top level elements (#15548) * Revert "DEV: Support for running theme test with Ember CLI" (#15547) * DEV: add invite-page class (#15546) * DEV: Support for running theme test with Ember CLI * Build(deps): Bump rainbow from 3.0.0 to 3.1.1 * Build(deps): Bump hashie from 4.1.0 to 5.0.0 (#14867) * Update translations (#15540) * FIX: Handling of `/p/###` URLs within Ember (#15536) * FIX: LOAD_PLUGINS=0 in dev/prod, warn in plugin:pull_compatible_all (stable) (#15538) * FIX: LOAD_PLUGINS=0 in dev/prod, warn in plugin:pull_compatible_all (#15537) * DEV: Do not manually require ip_addr (#15535) * FIX: allow slug-less topic URLs to work within the same topic (#15508) * FEATURE: Search screened IP address in blocks (#15461) * FEATURE: Show warning if user won't be mentioned (#15339) * UX: change text of public_topic action code in login required sites. (#14764) * DEV: Fix failing test. * Revert "DEV: Remove stale ignored_columns from models." * FEATURE: Customizable rules and plugins for `PrettyText.markdown`. * DEV: Remove stale ignored_columns from models. * FIX: Don't display duplicated emoji in picker * FEATURE: decorate username in email-group-user-chooser-row * DEV: Follow Discourse's convention when monkey patching. * DEV: Fix a flaky spec (#15529) * Build(deps): Bump bootsnap from 1.9.3 to 1.9.4 (#15528) * Build(deps): Bump jmespath from 1.4.0 to 1.5.0 (#15525) * FIX: Update recent emoji list when selecting from it (#15514) * Build(deps): Bump ffi from 1.15.4 to 1.15.5 (#15526) * Build(deps): Bump mini_racer from 0.6.0 to 0.6.1 (#15527) * DEV: Update emojis constants (#15506) * DEV: Allow click-interceptor in tests and add navigation test (#15499) * DEV: Restore facked timers in the after-each hook (#15522) * DEV: Correct method name in theme-errors-handler pre-initializer (#15501) * DEV: Skip timers when loading topic route in tests (#15500) * DEV: Improve and document `__container__` workaround in tests (#15498) * FIX: don't trigger `topic_created` event for reply posts via email. (#15485) * DEV: Ignore dropped Bookmark columns. * FEATURE: date-range tag for local dates (#15474) * SECURITY: Advanced group search did not respect visiblity of groups. * SECURITY: Advanced group search did not respect visiblity of groups. * UX: Tweak emoji picker css * FIX: Disable cast votes button for multiple polls with no min. * FIX: Regression in topic list kbd navigation (#15513) * DEV: Add count to missing translation strings (#15509) * Build(deps): Bump faraday from 1.9.2 to 1.9.3 (#15512) * DEV: Remove duplicate emoji files (#15496) * DEV: Prevent extraneous log message in specs (#15504) * DEV: Fix git deprecation warnings in specs (#15503) * DEV: Don't warn on missing git tags (#15507) * UX: updated "accept invite" error page (#15490) * DEV: migrate audio cloak-prevention to decorateCookedElement (#15502) * DEV: Avoid `$` globals (#15453) * FIX: Append /all to URL if default list is 'none' (#15460) * FIX: Actually save fields on themes:update (#15497) * DEV: Document delete post API endpoint (#15495) * DEV: Fewer jQuery calls in offset calculation (#15465) * FEATURE: Update emojis (#15468) * DEV: Retroactively add test for ignoring flagged responses (#15491) * FIX: Refresh logic in discovery topic lists (#15489) * SECURITY: Hide user's bio if profile is restricted (#15448) * FIX: when composing a message do not suggest deleted posts users (#15488) * DEV: Log response headers when getting rate limit errors during smoke tests (#15487) * DEV: Drop bookmark trigger correctly (#15486) * DEV: Rolling back bookmarkable column changes (#15482) * UX: prevent crawler view topic-list overflow (#15483) * DEV: Removing unused lines of code. * Build(deps): Bump faraday from 1.8.0 to 1.9.2 (#15479) * DEV: Update default tagName and connectorTagName for plugin outlets (#13685) * DEV: Modernise navigation-bar plugin-outlet (#15478) * DEV: Add email bounce DiscourseEvent for plugins (#15398) * DEV: Deprecate OAuth2Authenticator and OAuth2UserInfo (#15427) * SECURITY: Hide user's bio if profile is restricted (#15477) * FEATURE: Make the draft error exclamation in composer red (#15475) * FIX: new-topic feature was broken when 'Default List Filter' was set to 'no subcategories' (#15476) * DEV: rename single_sign_on classes to discourse_connect (#15332) * UX: better invite accept form (#15472) * DEV: Remove obsolete topic-progress code * DEV: Remove redundant lines of code. * DEV: Add polymorphic bookmarkable columns (#15454) * DEV: Re-use main app registry for raw HBS view lookups (#15456) * Build(deps): Bump thor from 1.2.0 to 1.2.1 (#15469) * FIX: When loading more topics, `showFooter` was not updated properly * FIX: Jittery topic progress on some window sizes (#15462) * DEV: Fix tests broken in 3.0 due to separation of keyword arguments * FIX: Clean flagged queue when response to flagged post deleted (#15463) * DEV: Fix methods removed in Ruby 3.2 (#15459) * DEV: migrate routes to the new @action pattern (#15435) * FIX: Error when voting on a multiple poll without the min/max attrs. * FIX: use font-down * FIX: smaller pencil icon for edit tags * FIX: Hide user's bio if profile is restricted * improved copy on "send me email when.." user pref * DEV: Clean up old bookmark code (#15455) * FIX: Small adjustments to topic progress position on desktop (#15447) * FEATURE: Catch decorateCooked errors from themes/plugins (#15450) * Build(deps): Bump thor from 1.1.0 to 1.2.0 (#15451) * DEV: Remove JQuery from app.js (#15449) * Update translations (#15446) * UX: post action spacing refactor & consistency (#15403) * FEATURE: use raster image and autofill in 2FA input (#15429) * FIX: Tone down admin dashboard critical problem messaging (#15442) * DEV: Drop old bookmark columns (#15405) * FEATURE: Scheduled group email credential problem check (#15396) * DEV: Use EmailSettingsValidator in more places (#15404) * PERF: Turn common test prefixes into contexts in topics_controller_spec (#15439) * FEATURE: Allow topic pin toggle when header is docked (#15438) * Build(deps): Bump parser from 3.0.3.2 to 3.1.0.0 (#15437) * Build(deps): Bump unicorn from 6.0.0 to 6.1.0 (#15411) * Build(deps): Bump mini_racer from 0.5.0 to 0.6.0 (#15433) * Build(deps): Bump message_bus from 3.3.8 to 3.4.0 (#15432) * SECURITY: only show user suggestions with regular post (#15436) * SECURITY: only show user suggestions with regular post (#15436) * Build(deps): Bump rubocop-rspec from 2.6.0 to 2.7.0 (#15410) * Build(deps): Bump rubocop from 1.24.0 to 1.24.1 (#15434) * Build(deps): Bump zeitwerk from 2.5.1 to 2.5.3 * DEV: Allow `ember server --environment production` to be used (#15431) * FEATURE: Before consolidation callbacks. (#15428) * check for code-blocks before loading highlight-js * remove deprecated jQuery workaround * DEV: revert linting workaround for emoji picker `keydown` action (#15424) * fix flair misalignment (#15425) * DEV: Small refactor to header offset (#15421) * FEATURE: Automatic admin editor dark mode (#15419) * DEV: Do not log API key scope and/or source-ip mismatches (#15423) * DEV: Do not log `MimeNegotiation::InvalidType` to logster * DEV: Remove Poll scope ignore pattern from Logster config * UX: improved invite accept page layout (#15418) * FIX: Don't allow NULL values for `notification_level` in `category_users` (#15407) * DEV: Add `composer-open` class to body element when compsoer is open (#15420) * DEV: Minor topic timeline refactor (#15357) * FIX: improve the way magnific popup is loaded (#15348) * Update translations (#15416) * FEATURE: allow sending message via a link to multiple users (#15412) * Improve translation in pending reviewables reminder. (#15413) * DEV: Create post actions without creating a notification and store custom data. (#15397) * UX: Maximize the preview space in composer (#15188) * DEV: Remove old enable_experimental_composer_uploader site setting (#15406) * Build(deps): Bump diff-lcs from 1.4.4 to 1.5.0 (#15402) * Build(deps-dev): Bump shoulda-matchers from 5.0.0 to 5.1.0 (#15401) * Build(deps): Bump rubocop from 1.23.0 to 1.24.0 (#15400) * DEV: Re-organize TopicsController#reset_new tests (#15399) * REFACTOR: Use a consolidation rule for collapsing likes. (#15393) * DEV: Introduce Auth::Result API for overrides_* (#15378) * DEV: Allow for taller images in posts and oneboxes (#15395) * DEV: Add API docs for uploads and API doc watcher (#15387) * FIX: Uploads were broken in old Safari (#15391) * FIX: Save draftSequence when it is 0 (#15394) * Update translations (#15353) * PERF: Make tests faster by prefabricating more things (#15392) * FIX: Predict draftSequence on draft save (#15390) * DEV: correctly notify property changes of emoji store (#15389) * DEV: Drop jQuery file uploader and old upload components (#15376) * FIX: SiteSetting.title was being polluted in StaticController (#15385) * FIX: gives composer options to post:highlight trigger (#15384) * DEV: Avoid shadowing variables in topics_controller_spec (#15383) * Version bump to v2.7.12 * FIX: Remove length constraint of `fancy_title` in `topics` (#15381) * Version bump to v2.8.0.beta10 (#15382) * DEV: Add callback when search is empties in choose-topic (#15380) * DEV: add a container to the empty-state layout to simplify styling in themes (#15264) * FEATURE: when suggesting usernames skip input that consist entirely of disallowed characters (#15368) * FIX: fallback to `anonymous` not `user` when suggesting usernames for anonymous users (#15354) * DEV: Add div around choose-topic results (#15379) * DEV: Change images-uploader to use Uppy (#15375) * DEV: Remove old backup uploader and resumable.js (#15365) * DEV: Fix a flaky test (#15374) * Build(deps): Bump message_bus from 3.3.6 to 3.3.8 (#15373) * DEV: Handle CORS and other fetch failures for media-optimization-worker (#15364) * UX: update navigation-container scaling & wrapping (#15372) * FIX: Use correct argument name in pending reviewables translation (#15371) * PERF: Make tests faster by prefabricating more things (#15370) * FIX: Menu panel position adjustment (#15358) * DEV: implements actionDecriptionWidget (#15367) * DEV: Promote uppy backup uploader to primary uploader (#15363) * FEATURE: hide_email_address_taken forces use of email in forgot password form (#15362) * DEV: Add uppyReady hook to uppy mixins (#15361) * FEATURE: Scheduled problem checks for admin dashboard (#15327) * Build(deps-dev): Bump bullet from 6.1.5 to 7.0.0 (#15360) * FIX: Use basic meta description if other description tags are missing (#15356) * DEV: Remove redundant version of jsoneditor.js (#15355) * DEV: Remove `jquery-tags-input` dependency (#15344) * DEV: Remove jQuery color dependency (#15340) * DEV: Fix linting issue with emoji `keydown` event (#15352) * DEV: Remove jQuery autoellipsis dependency (#15336) * UX: correctly handles escape on emoji picker (#15351) * DEV: drops jquery from scrolling-post-stream (#15313) * FIX: Translation overrides from fallback locale didn't work on client * FIX: "Customize Text" showed compiled MessageFormat string for overridden `_MF` translations * FIX: translation precedence was different on client and server * Revert "DEV: supports actionClick for small actions (#15331)" (#15350) * DEV: allows to import decorateGithubOneboxBody (#15349) * DEV: supports actionClick for small actions (#15331) * DEV: creates domFromString utility function (#15310) * SECURITY: Disable MessageBus::Diagnostics. * SECURITY: Disable MessageBus::Diagnostics. * DEV: Remove iOS 9.3 polyfills (#15343) * FIX: Incorrect header offset calculation (#15341) * DEV: Tweak smooth-scroll polyfill speed (#15342) * DEV: Remove unused composer editor preview sync (#15322) * DEV: Refactor animation for invalid inputs in wizard (#15334) * Build(deps): Bump fastimage from 2.2.5 to 2.2.6 (#15338) * PERF: Prefabricate more parts of users_controller_spec (#15335) * FIX: Add smooth scrolling polyfill (#15333) * DEV: Remove jQuery animate calls (#15321) * DEV: make sure we handle staged users correctly in DiscourseConnect (#15320) * DEV: Make i18n spec ignore these test-only settings (#15329) * FIX: uses new format for search tag endpoint to prevent issues (#15328) * FEATURE: Allow to modify topic-backed static pages (#15324) * UX: Always show avatar on mobile topic lists (#15323) * Build(deps-dev): Bump minitest from 5.14.4 to 5.15.0 (#15326) * Build(deps-dev): Bump fabrication from 2.23.0 to 2.23.1 (#15325) * UX: let mobile post controls scroll on overflow (#15305) * UX: Show group card with animated loading state (#15253) * DEV: remove `showHtml` jQuery plugin (#15316) * PERF: Speed up the tests by pre-fabricating more things (#15318) * DEV: Cleanup `for` attributes in category edit screens (#15284) * FEATURE: Add topic-navigation plugin outlet and popup component (#15081) * DEV: Remove customer flair from being an official plugin (#15315) * allow themes to change the lock icon easily (#15309) * DEV: migrate more routes away from the old `actions:` pattern (#15275) * FEATURE: Save scroll position on bookmarks page (#15296) * FIX: Notify group members when someone quotes or replies to their post. (#15295) * DEV: minor refactoring or jump-to-post (#15312) * DEV: Skip Ember OnError validation for plugin qunit tests (#15314) * FEATURE: Extend plugin API to add multiple poster icons (#15311) * DEV: Fix intermittent failing spec. (#15308) * DEV: Add DropTarget options function for Uppy mixins (#15307) * FIX: Add more actions to the uploads API key scope (#15306) * Revert "A11Y: Focus last viewed topic in topic lists (#15300)" (#15304) * Update translations (#15302) * A11Y: Focus last viewed topic in topic lists (#15300) * UX: prevent timeline overflow in extreme cases (#15303) * Build(deps): Bump css_parser from 1.10.0 to 1.11.0 * DEV: cleanup `for` attributes in search filters (#15283) * DEV: Update GitHub workflows to use slim discourse_test images (#15298) * PERF: Prefabricate posters in topics_controller_spec (#15297) * DEV: Use discourse image for postgres in GitHub Actions (#15291) * DEV: update and improvements to json editor (#15294) * DEV: removes jQuery usage from extend-for-poll (#15289) * UX: Extend user hyperlink in staff action logs (#15293) * DEV: Add chat invitation notification type (#15288) * Update translations (#15292) * DEV: Use slim container for backend tests in GitHub Actions (#15290) * DEV: Cache database in GitHub actions tests (#15279) * DEV: Prefers reads helper over alias (#15282) * DEV: Add discourse-vk-auth to official plugins list (#15287) * PERF: Prefabricate more of topics_controller_spec.rb (#15281) * DEV: Plugin API to add desktop notification handlers (#15280) * DEV: Reset OmniAuth test mode between tests (#15278) * DEV: Drop env-based SiteSetting deprecation errors (#15273) * DEV: Use `Discourse.deprecate` instead of `logger.warn` (#15274) * DEV: Refactor popup-tip component (#15257) * FIX: Correct email_tokens_token_to_nullable migration (#15277) * DEV: Add SAML to official plugin list (#15276) * FIX: Ensure theme names are escaped in HTML attributes (#15272) * DEV: Switch from puppeteer to puppeteer-core for smoke test (#15262) * DEV: allow nulls in email_tokens token column (#15271) * FIX: Check if invite domain is valid (#15238) * DEV: Drop unused column email_tokens.token (#15203) * FEATURE: Add Apple plugin to the official list (#15261) * Build(deps): Bump rubocop-ast from 1.14.0 to 1.15.0 (#15265) * DEV: Only support multipart for backup S3 uploads with Uppy (#15270) * DEV: Use Uppy in wizard-field-image uploads (#15269) * DEV: Move isInside to private function (#15268) * FEATURE: Use Tab for indenting text in composer (#15208) * Build(deps): Bump loofah from 2.12.0 to 2.13.0 (#15267) * Build(deps): Bump sprockets-rails from 3.4.1 to 3.4.2 (#15266) * DEV: Allow emoji picker to disable popper for itself (#15256) * PERF: Redis snapshotting during tests (#15260) * FIX: Allow OAuth2Authenticator to handle existing associations (#15259) * FIX: Blurry onebox favicon images (#15258) * adds missing id (#15255) * FEATURE: A notification consolidation plan for keeping the latest one. (#15249) * FEATURE: Delete previous reviewable reminders. (#15250) * FIX: only consider it handled by composer when a composer (#15254) * FIX: Defer topic/post created events until emails have been added (#15252) * UX: Fix topic status icon size in mobile search results (#15251) * UX: only apply link formats on paste to selections that do not contain bbcode-like tags (#15204) * DEV: removes jquery usage from admin-watched-words (#15246) * DEV: fixes test as bodyClass is sometimes "foo bar" (#15248) * DEV: minor full page search refactoring (#15242) * DEV: refactors admin-plugins/admin-site-settings (#15244) * DEV: refactors d-section (#15245) * DEV: drops jquery usage from discovery-categories (#15243) * FEATURE: Experimental support for group membership via google auth (#14835) * DEV: Add keyboard:move selection event (#15241) * DEV: minor choose topic refactoring (#15233) * UX: Make toggling to filtered replies mode less jumpy. (#15240) * DEV: Remove unnecessary element. (#15225) * DEV: Fix position of avatar flair to be based on the actual avatar. (#15226) * Build(deps): Bump parser from 3.0.3.1 to 3.0.3.2 (#15239) * DEV: add app event for user-card:after-show (#15227) * FIX: make tests work with higher starting upload id (#15237) * A11Y: Move focus to highlighted post when visiting a topic (#15236) * DEV: do not return no_result_help from the server (#15220) * UX: Improve composer presence-display positioning (#15235) * FEATURE: Restrict link invites to email domain (#15211) * DEV: removes jquery usage from add-category-tag-classes (#15232) * FIX: Select correct topic draft for user (#15234) * FIX: Update has_topic_draft when draft is updated (#15219) * UX: scroll row to top of container in select-kit (#15230) * FIX: Ensure MessageIdService can handle hostname changes and multisite (#15231) * DEV: Stop polluting all Ruby classes * Build(deps): Bump raindrops from 0.19.2 to 0.20.0 (#15222) * Build(deps-dev): Bump fabrication from 2.22.0 to 2.23.0 (#15223) * Build(deps): Bump excon from 0.88.0 to 0.89.0 (#15224) * FIX: --header-offset didn't account for overscroll (#15221) * FIX: References header leading to broken email threading (#15206) * DEV: Sniff isPwa for capabilities (#15218) * DEV: Allow PresenceChannel to specify custom activity thresholds (#15217) * FIX: Make thumbnail tests start with a clean slate (#15216) * DEV: dry up omni_auth_callback_controller_spec (#15213) * PERF: Speed up tests (#15214) * DEV: Set uploads_id_seq starting point before tests (#15215) * DEV: Deprecate `registerOption()` (#15209) * A11Y: Remove dupe label on signup confirm field (#15212) * Update translations (#15210) * FIX: Display pending posts in a moderated category * FIX: edit tag test (#15207) * FIX: tag transition only if tag name changed (#15149) * PERF: Add index on email_tokens.token_hash * FIX: Missing allowed urls when displaying granualar API key scopes. * FEATURE: Introduce API scopes for badges. * FIX: auth incorrectly handles duplicate usernames (#15197) * UX: Fix flair dropdown styling in user account (#15201) * FIX: Updating a consolidated notification should bump it to the top. (#15199) * DEV: Make add_api_parameter_route parameter deprecations errors (#15198) * FIX: when using external auth disallowed characters weren't removed from username (#15185) * DEV: Add :before_email_login event for plugins (#15187) * DEV: drop unused method (#15190) * FEATURE: Pre-setting user locale via bulk invite (#15195) * FIX: Make user themes sort order case insensitive (#15193) * FIX: Add random suffix to outbound Message-ID for email (#15179) * Build(deps): Bump regexp_parser from 2.1.1 to 2.2.0 (#15194) * DEV: Fix mini-profiler location for custom (or missing) d-headers (#15192) * FIX: PWA badges were not updating (#15191) * UX: remove style that breaks composer on pm page (#15189) * FIX: Match for indeterminate depth in URL during upload tests (#15186) * UX: reduce composer jumpiness on android (#15184) * PERF: Shave off some test-suite time (#15183) * UX: Prevent overflow on mobile timeline dates (#15182) * DEV: Update discourse-plugin-linkedin-auth to discourse-linkedin-auth (#15181) * UX: Improve tag info style (#15177) * DEV: Update email responses in api docs (#15178) * DEV: Update official plugin list (#15180) * FIX: allows more precise placement strategy on mobile (#15171) * Build(deps): Bump rubocop-ast from 1.13.0 to 1.14.0 (#15176) * DEV: Don't error when emoji-picker is used outside composer (#15172) * DEV: Invite page changes (#15175) * FEATURE: Add the ability to go back and forth between PM and New Topic (#15173) * DEV: Raise errors for (black|white)list accesses (#15174) * Add three reports (#14338) * DEV: Remove site_setting_saved event (#15164) * FIX: Don't redirect XHR/JSON requests when login is required (#15093) * DEV: Ensure redirects are passed through to the client by ember-cli (#15170) * UX: Fix alignment in group navigation bar (#15169) * FIX: extract and fix overriding of usernames by external auth (#14637) * DEV: Ensure ember-cli does not attempt to bootstrap non-ember pages (#15168) * DEV: Print full stack trace on ember-cli bootstrap error (#15167) * PERF: migrate normalized_emails in a migrations (#15166) * Build(deps): Bump logster from 2.10.0 to 2.10.1 (#15163) * Build(deps-dev): Bump rubocop-discourse from 2.4.2 to 2.5.0 (#15165) * DEV: Don't use `?.` in bootstrap-json (#15162) * DEV: Changes to support chat uploads (#15153) * DEV: Fix ember CLI bootstrap logic (#15160) * DEV: Make legacy ember tests less likely to fail (#15147) * UX: only apply link formats on paste to selections that do not contain links * FIX: Set `auto_update` to false for non-git themes/components (#15157) * FIX: Skip themes that have blank URL in the `themes:update` rake task (#15156) * Build(deps): Bump mini_suffix from 0.3.2 to 0.3.3 (#15151) * Version bump to v2.7.11 * FIX: Validate number of votes allowed per poll per user (stable) (#15158) * Version bump to v2.8.0.beta9 (#15152) * SECURITY: Remove ember-cli specific response from application routes (#15155) * SECURITY: Remove ember-cli specific response from application routes (stable) (#15154) * DEV: avoid sending events to a destroying object and enable few skipped tests (#15030) * Revert "UX: Fix alignment in group navigation bar (#15145)" (#15150) * SECURITY: Only show tags to users with permission (#15148) * SECURITY: Only show tags to users with permission (#15148) * UX: Fix alignment in group navigation bar (#15145) * DEV: Change create-invite-uploader to use uppy (#15088) * FIX: Native File object was not passed to uploadHandler (#15146) * FEATURE: ability to add description to tags (#15125) * DEV: Fix a flaky bookmarks test (#15129) * Update translations (#15140) * DEV: Add aarch64 platform (#15143) * FIX: Broken css in #15141 (#15144) * FEATURE: Show user cards for 'replying...' users (#15142) * UX: Tweak mobile composer styling (#15141) * UX: Tweak composer styling (#15117) * DEV: Add drop-date to drop-dateless deprecations (#15133) * DEV: Replace bent with node-fetch in bootstrap (#15139) * REFACTOR: Improve support for consolidating notifications. (#14904) * DEV: migrate (almost all) routes from `actions:` to `@action` syntax (#14722) * FIX: do not suggest "user1" as a username to invited users (#15031) * DEV: Fix pending posts page, make tests work in legacy env (#15132) * UX: Add title attribute to reports cells (#15137) * FIX: adds 422 status code to bootstrap json (#15138) * FEATURE: Replace `Crawl-delay` directive with proper rate limiting (#15131) * FIX: allow staff to upload when they should and authorized_extensions is blank (#15136) * DEV: Load fabricators for plugins automatically. (#15106) * DEV: Automatically leave PresenceChannels when in the background (#15047) * DEV: Fix a test leak (#15135) * DEV: Use pushObject for inProgressUploads in uppy (#15134) * DEV: Switch to using uppy uploads in composer by default (#15058) * Build(deps): Bump parser from 3.0.3.0 to 3.0.3.1 (#15130) * DEV: Remove build:stamp task and related code (#15069) * UX: closes multi-select on selection when maximum=1 (#15092) * DEV: Add ember-test-selectors to production env * FIX: Ensure widget hooks always call the correct instance (#15127) * FEATURE: Display pending posts on user’s page * FIX: treats ipad as mobileView for popper positioning (#15091) * DEV: Throw on non-xhr errors (#15123) * FIX: Global log notice regressed in #15000 (#15119) * DEV: Send multiple files in batches to composer upload handlers when using uppy (#15124) * FIX: Setting bookmarks in some cases was broken (#15120) * DEV: Fix uploadHandler impl. in composer-upload-uppy mixin (#15105) * Build(deps): Bump logster from 2.9.8 to 2.10.0 (#15121) * Build(deps): Bump globalid from 0.6.0 to 1.0.0 (#15122) * DEV: Remove unnecessary functions (#15113) * PERF: Update widget hooks to avoid global scroll-blocking events (#15116) * DEV: Disable 'passive' handlers for pan-events mixin (#15118) * DEV: Ensure scrolling-post-stream event listeners are removed correctly (#15115) * PERF: Update scrolling mixin implementation (#15109) * DEV: Make plugin api errors more descriptive (#15111) * PERF: Disable ember touchstart listener (#15112) * DEV: Make `@afterRender` do just that, no extra `next()` (#15086) * DEV: Set `passive: false` on composer grippie events * PERF: Use passive event listeners for touchstart, touchmove * UX: Fix extra indent on lists when supporting mixed text direction (#15110) * Segment Ember CLI tests * DEV: Don't create unnecessary scope methods (#15104) * PERF: Set --header-offset property only when changed (#15107) * DEV: Don't polute all ActiveRecord classes (#15103) * DEV: Add 201 to bootstrap-json accepted status codes (#15102) * DEV: Avoid cancelling in-progress tests for branches (#15101) * FIX: Don't throw errors on duplicate keys in Yaml * DEV: Don't crash on empty plugin translations (#15097) * Build(deps): Bump parser from 3.0.2.0 to 3.0.3.0 (#15099) * Build(deps): Bump globalid from 0.5.2 to 0.6.0 (#15098) * DEV: Cancel in-progress test runs on PRs (#15096) * FEATURE: show recent searches in quick search panel (#15024) * FEATURE: Send a 'noindex' header in non-canonical responses (#15026) * FIX: Software update prompt position on themes with extra header (#15094) * DEV: Drop non-visualViewport Safari hacks (#15007) * DEV: Stop if theme:update fails for default site (#15090) * FIX: Use CDN URL for internal onebox avatars (#15077) * DEV: `lib/user-presence` improvements (#15046) * FIX: Delete unconfirmed AND expired email tokens only (#15089) * DEV: Hash tokens stored from email_tokens (#14493) * DEV: Remove xlink hrefs (#15059) * DEV: Add cta app event (#15051) * DEV: Make it clear that plugin-api on the client side follows semver. (#15070) * DEV: Allow using incorrect headers with ember-cli (#15085) * Build(deps): Bump bootsnap from 1.9.1 to 1.9.3 (#15084) * FEATURE: Support i18n in Ember CLI plugin tests * DEV: Re-allow node 17, with a warning (#15083) * DEV: Fix set-after-destroy issues (#15078) * DEV: Fix another form of sending data in ember-cli (#15079) * FIX: Don't crash the browser when tapping autocomplete suggestions on Android/Gboard (#15076) * UX: add additional tests for pasting a link on a selection * UX: when pasting a link use linkify rules * UX: pasting links on a selection will apply a link format * DEV: Update supported node versions (#15073) * DEV: Fail stop if theme update fails (#15074) * FEATURE: Highlight changed tags in post revisions (#15072) * DEV: Minor cleanup of create-account tests (#14989) * FEATURE: Notify responders of post removal (#15049) * DEV: Fix the /tests path in ember-cli server (#15075) * DEV: Fix ember-cli proxy issues (#15071) * FEATURE: Add email normalization rules setting (#14593) * DEV: Allow default scope to be configurable per topic. (#15018) * DEV: Allow callback to be registered to remove post menu button. (#15061) * FIX: Strip Auto-Submitted email header from group SMTP emails (#15057) * DEV: Remove unnecessary requires (#15067) * DEV: Remove `build_test_topic` task (#15068) * DEV: Fix ember-cli proxying to production sites (#15042) * FEATURE: Mention @here to notify users in topic (#14900) * UX: timestamp should not hide handle of topic timeline in mobile. (#15066) * Update translations (#15065) * Update email deliverability mail template (#15064) * FIX: Do not fail-stop if theme update fails (#15063) * FIX: Git should not prompt for credentials (#15062) * UX: Fallback to regular title if screen-reader title is unavailable (#15048) * FIX: Keep existent tags when editing tag topics (#15050) * DEV: Fix flaky specs due to 8226ab1099ebdb05403ba27c25921e25e269c031. (#15060) * FEATURE: Show browser search tip when discourse search shows up in a topic (#15055) * PERF: Updating first unread PM for user not respecting limits. (#15056) * DEV: Add single file progress and cancel for uppy in composer (#15053) * DEV: add plugin outlet before topic list views (#15054) * DEV: Add if a user is using an Apple device in widget capabilities (#15021) * FEATURE: Local chunked uppy backup uploads with a new uploader plugin (#14894) * Build(deps): Bump sprockets-rails from 3.4.0 to 3.4.1 (#15052) * DEV: Create CookedProcessMixin to process generic cooked (#15029) * DEV: Fix silence user context message (#15040) * FIX: Don't hit permalink-check if not authorized (#15039) * UX: Make banner full-width (#15038) * DEV: Reuse code for TrustLevelAndStaffSetting (#15044) * FEATURE: adds uploads scope for API keys (#14941) * UX: Lower digest suppress period from a year to 6 months (#15023) * DEV: Swap out optipng with oxipng (#15013) * DEV: Don't clear cache/trigger events if site setting hasn't changed (#15045) * FEATURE: Allow theme settings to request refresh (#15037) * FIX: Allow invites if must_approve_users is true (#15043) * FIX: Don't publish polls on message bus when there are no polls (#15041) * DEV: Fix spec (#15036) * FIX: Don't publish notifications to MessageBus for inactive users (#15035) * Always show input when editing text by removing hover (#15034) * DEV: Lint SCSS with prettier in pre-commit (#15033) * Refine dismiss notification confirmation (#15017) * SECURITY: Strip unrendered unicode bidirectional chars in code blocks (#15032) * SECURITY: Strip unrendered unicode bidirectional chars in code blocks (#15032) * UX: Fix fast edit save button color in dark schemes (#15027) * FIX: Allow poll feature to be disabled in discourse-markdown (#15025) * FIX: Remove 'Open Draft' label after topic draft deleted (#14997) * FIX: Ensure mobile topic-list links are treated as Ember transitions (#15022) * FIX: infinite recursion when calling a refresh() action on routes (#14624) * PERF: Use more efficient text-direction check in select-kit init (#15015) * DEV: Return promise for toggleFilteredRepliesView widget action. (#15020) * PERF: Reduce records queried in `UserStat.update_first_unread_pm`. (#15016) * FIX: Add a confirm and cancel button when editing alt text (#15003) * FIX: Validate number of votes allowed per poll per user. (#15001) * DEV: Remove JQuery from discourse/lib/text-direction (#15014) * UX: Move share topic warning to modal flash alert (#15012) * DEV: Refactor `logs-notice`/`global-notice` (#15000) * FIX: Don't overwrite computed property for loading spinner fix * FIX: Topic list separator fix (#15011) * Improved create invite modal (#14151) * PERF: Move `preload` hints to the `<head>` (#15008) * DEV: Hide message bus site settings (#15009) * PERF: Improve JS app boot speed by optimizing `customResolve()` (#14990) * DEV: Avoid unnecessary `site-settings:main` lookups (#15006) * DEV: Use `class` syntax in key-value-store (#15005) * DEV: Fix `castInteger` deprecations (#15004) * DEV: Make `search` an actual service (#14998) * DEV: Make `store` an actual service (#14996) * DEV: add outlet for extra categories column (#15002) * FIX: exclude moderator_action post for reply count in user summary. (#14991) * FEATURE: Log only topic/post search queries in search log (#14994) * FIX: Incorrect title and chevron when filtering by post number. (#14985) * FIX: none and all categories filter (#14999) * DEV: Extract shared external upload routes into controller helper (#14984) * FEATURE: Apply rate limits per user instead of IP for trusted users (#14706) * DEV: Make `screen-track` a regular service (#14983) * DEV: `I18n` global is no longer supported (#14993) * FIX: Cache all watched words (#14992) * DEV: Fix a `userFields` computed property override (#14988) * DEV: updates popper to 2.10.2 (#14986) * FIX: clear previous errors on second factor form display (#14987) * UX: add more search aliases for emojis. (#14768) * FIX: register customOptions as select kit filter (#14933) * FIX: Convert URLs embedded topics to absolute form (#14975) * UX: launch full page search on second `Enter` hit (#14978) * FEATURE: Show a confirmation modal when "Dismiss all" would dismiss an important notification (#14935) * FIX: Error when SMTP enabled in PostAlerter with no incoming email (#14981) * FIX: Clean up emoji name which is file name (#14980) * FIX: Include all categories in sortedCategories (#14979) * DEV: Refactor uppy s3 mulipart mixin to not use self = this (#14960) * REFACTOR: Continued topic-list tweaks (#14977) * DEV: Export add emoji logic in textarea manipulation mixin (#14976) * FIX: Adjust topic list header alert (#14974) * FEATURE: display warning when sharing a topic in a restricted category (#14820) * DEV: Use radix 10 in `parseInt()` (#14973) * Support parsing array in #param_to_integer_list * FIX: Ambiguous column in `downsize_uploads` (#14972) * Update translations (#14970) * DEV: Skip logging in test environment (#14971) * DEV: sticky avatar was retained during tests (#14969) * DEV: removes jquery usage from discourse-topic (#14964) * DEV: removes jquery usage from links-redirect (#14968) * DEV: removes jquery usage from html-with-links (#14966) * DEV: Remove unused action (#14889) * FIX: Additional fixes for last-visited on topic list (#14962) * FIX: fix regressions introduced in ae16b0a (#14967) * FIX: adds missing class for last visit separator (#14965) * DEV: reduces jquery usage and memory leaks in composer (#14924) * DEV: drops jquery/simplify code/removes leaked event (#14947) * DEV: drops jquery usage in stacked chart (#14946) * DEV: jquery removal/listeners/cleanup of permalink form (#14944) * DEV: removes unnecessary jquery selector (#14945) * FIX: Redirect to homepage if no posts exist (#14951) * FEATURE: Move sticky avatars into core * FIX: exclude topics from muted tag in category featured list. (#14925) * DEV: mutlipart -> multipart spelling fix (#14963) * UX: mobile topic list fixes follow-up to 0e371d4 (#14959) * Build(deps): Bump sprockets-rails from 3.3.0 to 3.4.0 (#14955) * Build(deps): Bump rubocop from 1.22.3 to 1.23.0 (#14954) * FIX: Emoji uploader not using data.name on uppy upload (#14958) * FIX: Use correct group out of multiple for SMTP sender (#14957) * DEV: Don't use `$.isEmptyObject()` (#14953) * FIX: Drop malformed CC addresses in GroupSmtpEmail job (#14934) * SYNTAX: Use classes instead of html element targeting (#14890) * DEV: Add basic theme support to the mini_profiler badge (#14952) * Version bump to v2.7.10 * Version bump to v2.8.0.beta8 (#14948) * SECURITY: Ensure _forum_session cookies cannot be reused between sites (stable) (#14949) * SECURITY: Ensure _forum_session cookies cannot be reused between sites (#14950) * DEV: Retry installation of ember exam * FIX: A screen-track/appEvents regression in #14929 (#14943) * DEV: Remove unnecessary test setup calls (#14940) * DEV: Clean up `sniff-capabilities` (#14938) * SECURITY: Disallow caching of MIME/Content-Type errors (#14939) * FIX: composer education message for group mentions were broken (#14937) * DEV: Drop support for removing all appEvent listeners (#14936) * DEV: Use `@bind` instead of repeated `.bind(this)` (#14931) * FIX: Use previous chunk to check if local backup chunk upload complete (#14896) * DEV: Fix `qunit/assert-args` (#14932) * DEV: Delete an old `appEvents.off` call (#14930) * DEV: Update `caniuse-lite` (#14926) * DEV: Don't create AppEvents instance in Eyeline (#14928) * DEV: Don't set appEvents on app, group injections (#14929) * DEV: Fix a computed property overwrite (#14927) * FIX: set `null` to group if `groupAttrs` param is not available. (#14795) * DEV: Replace `$.extend` with `Object.assign` (#14921) * DEV: Fix a `computed-property.override` warning (#14922) * DEV: Fix a call-after-destroy issue (#14923) * DEV: Increase Chrome memory limit (#14918) * DEV: Don't try to load admin locales in tests (#14917) * DEV: Fix linting issues in core plugins (#14916) * DEV: Use method definition syntax consistently (#14915) * DEV: Avoid using globals (#14909) * DEV: Remove `.es6` extensions from core (#14912) * DEV: Fix Chrome flags (#14914) * FIX: Use the same hljs version in prod and tests (#14913) * DEV: Fix one more use of `jQuery` global (#14910) * DEV: Fix `hljs.highlightBlock` deprecation (#14908) * SECURITY: Disallow caching of MIME/Content-Type errors (#14907) * DEV: Remove `jQuery` global usage where possible (#14905) * FIX: Prevent `PreloadStore` from calling the finder when value is falsy (#14899) * DEV: reduces jquery usage in composer-editor (#14903) * DEV: Remove deprecated method (#14902) * DEV: Let's always give a drop_from param to deprecate (#14901) * FIX: Use Map instead of Object for caching (#14887) * FIX: ensures minimum tags logic is correct and shared (#14723) * DEV: adds a new topic footer dropdown api (#14747) * DEV: Catch Mocha::ExpectationError in request specs (#14897) * Revert "Add support for Ember Exam" (#14895) * Build(deps): Bump mini_racer from 0.4.0 to 0.5.0 * Build(deps): Bump sprockets-rails from 3.2.2 to 3.3.0 * Add support for Ember Exam * DEV: Remove deprecated methods (#14885) * DEV: Deprecate message bus site settings (#14465) * DEV: Fix 3N+1 query in `/admin/customize/themes` (#14876) * DEV: Improve multisite testing (#14884) * FIX: Display top posts from private categories if the user has access. (#14878) * Revert "DEV: increase lock timeout for multisite migration (#14831)" (#14883) * FIX: Topic queryParams are removed from history state when scrolling. (#14881) * DEV: Add missing IDs to uppy upload components (#14880) * Build(deps): Bump oauth from 0.5.7 to 0.5.8 (#14877) * Remove Internet Explorer reference (#14879) * FEATURE: Direct S3 multipart uploads for backups (#14736) * PERF: Update like count in visible posts without an extra GET per like (#14869) * FIX: `LocalJumpError` in rake tasks (#14874) * FEATURE: Add read-only scope to API keys (#14856) * DEV: Bump eslint-config-discourse again (#14873) * DEV: Update discourse-local-dates for eslint shorthand rule (#14872) * DEV: Update yarn.lock (#14871) * DEV: Revert eslint-config-discourse bump (#14870) * DEV: Bump eslint-config-discourse (#14868) * FIX: Call `_clearFlash()` when displaying a modal (#14848) * DEV: Limit list multipart parts to 1 (#14853) * FIX: Don't fail if `s3_install_cors_rule` is off (#14865) * FIX: Use `127.0.0.1` instead of `localhost` for ember CLI * A11Y: set modal widths with EMs; improves scaling (#14863) * FIX: Disable scroll events while on full screen (#14864) * Revert "FIX: Composer height issue in Safari on iOS 15 (#14282)" (#14847) * UX: fix share/notify modal styles (#14861) * FIX: Allow bulk invites to be used with DiscourseConnect (#14862) * DEV: Update DiscourseConnect nonce errors to be more descriptive (#14858) * FIX: In Ember CLI some plugin tests were referring to the wrong container * "A11Y: Add prefers reduced motion" (#14859) * FIX: Make PostRevisor more consistent (#14841) * Update translations (#14855) * FEATURE: Add pagination to API keys page (#14777) * FIX: Show perma-delete in menu without refresh (#14740) * FIX: Remove xlink:href to favour href due to deprecation (#14854) * FIX: use correct attribute method to get post id from dataset. (#14845) * FEATURE: Allow users to edit alt text from the image preview in the editor (#14480) * FIX: Regression introduced in #14715 (#14842) * DEV: increase lock timeout for multisite migration (#14831) * Revert "Build(deps): Bump hashie from 4.1.0 to 5.0.0" * Build(deps): Bump rubocop-rspec from 2.5.0 to 2.6.0 * Build(deps): Bump rubocop-ast from 1.12.0 to 1.13.0 * Build(deps): Bump hashie from 4.1.0 to 5.0.0 * DEV: Skip a test instead of commenting it out (#14836) * FIX: Keep topic context when redirecting to full search (#14846) * FIX: Generate valid heading ids (#14840) * FIX: Restore animation for like action on mobile (#14844) * FIX: Persist notifications in OS X (#14843) * Build(deps): Bump sidekiq from 6.2.2 to 6.3.1 * FIX: Include admins in presence reply channel permissions (#14839) * DEV: Replace `equal()` with `strictEqual()` (#14827) * UX: Number steps in cloud installation README (#14833) * FIX: rename action_code_href to action_code_path (#14834) * DEV: Improve s3:ensure_cors_rules logging (#14832) * FIX: Skip post validations for system revisions when author deletes post (#14824) * Small copy fixes (#14826) * DEV: Remove hints of jshint (#14828) * Revert "prevent auto-scroll when focus is set inside header panels" (#14829) * FIX: Ensure CORS rules exist for S3 using rake task (#14802) * FEATURE: Use uppy for tags uploader (#14821) * FEATURE: small action post accepts href (#14816) * FIX: Canonical URLs may be relative (#14825) * prevent auto-scroll when focus is set inside header panels * FIX: Stop saving bookmark on modal press ESC (#14823) * FEATURE: Use uppy for watched word uploader (#14817) * FIX: ensure required_tag_group_name is null if no value present (#14796) * UX: Layout fixes for admin permalinks page (#14819) * Build(deps): Bump rspec-support from 3.10.2 to 3.10.3 * Build(deps): Bump i18n from 1.8.10 to 1.8.11 * DEV: Remove `.ruby-version` file (#14818) * REFACTOR: Use CSS animations for likes (#14809) * FEATURE: Move avatar uploader to uppy (#14815) * FEATURE: Move emoji uploader to use uppy (#14814) * Add `embed_url` to the api docs (#14813) * DEV: Allow tag to be passed in payload to PushNotificationPusher (#14810) * DEV: Plugin instance method for push_notification_filters (#14787) * fix spec * fix test * fix test * Add tests * Add lazy loading to post avatars * Add lazy loading to topic list avatars * FIX: exclude suppressed category topics in digest even if unmuted. (#14793) * FIX: rake categories:move_topics shouldn't move category description topic (#14797) * remove some hardcoded 'localhost's from dev environment (#14801) * Build(deps): Bump omniauth-oauth2 from 1.7.1 to 1.7.2 (#14798) * Build(deps): Bump oauth from 0.5.6 to 0.5.7 (#14799) * UX: remove tags chooser on PMs for non-staff users (#14800) * FIX: Display Instagram Oneboxes in an iframe (#14789) * FEATURE: Add setting to disable notifications for topic tags edits (#14794) * Update translations (#14792) * UX: Fix several issues with topic progress refactor (#14790) * FIX: Use mouse down event when cancelling search (#14788) * FIX: insert commas even when field value is null (#14791) * FIX: Prevent duplicate search requests to backend (#14786) * UX: Fix bar-style category dropdown (#14785) * Revert "DEV: Avoid duplication of gems in gemfile." (#14784) * DEV: Output webmock errors in request specs (#14782) * FIX: Deleting a for_topic bookmark caused JS error (#14781) * FIX: Use the same mode for chinese search when indexing and querying. (#14780) * DEV: Add tests to S3Helper.ensure_cors and move rules to class (#14767) * DEV: Remove unnecessary `controllerFor` in tests (#14779) * UX: better accommodate PM composer with tags (#14778) * FIX: resolve responses of 103 should be retried using small_get (#14773) * DEV: Move imap_helper to spec/support directory (#14776) * DEV: Load rails_helper in pbkdf2_spec (#14775) * DEV: Allow replacing share icons separately (#14774) * FIX: Include topic details when PMing * FIX: allowed_theme_ids should not be persisted in GlobalSettings (#14756) * UX: Fix short post width on mobile (#14771) * UX: Show quick search hint more consistently (#14769) * FEATURE: Pull hotlinked images in user bios (#14726) * FIX: Do not replace words in hashtags and mentions (#14760) * FIX: Hide links to muted topics and in categories list (#14761) * REFACTOR: Use IntersectionObserver to calculate topic progress position (#14698) * DEV: Instantiate relation early to save a query (#14766) * FIX: Regression introduced in #14715 (#14765) * FIX: Avoid another N+1 query in `Site.json_for` (#14763) * FIX: update flair group of all members if primary group setting changed. (#14762) * FIX: should not receive topic invites from ignored users. (#14746) * DEV: Use Rails query builder (#14759) * FIX: Do not perform link lookup for replaced links (#14742) * Update translations (#14757) * DEV: prevents Firefox ESR tests to crash on `||=` (#14758) * PERF: Use different column for better query plan (#14748) * FIX: include new tags in validation if user can create one. (#14744) * DEV: Delete vacate_legacy_prefix_backups code (#14735) * FEATURE: bypass topic bump when disable_category_edit_notifications is enabled (#14754) * Build(deps): Bump rubocop from 1.22.2 to 1.22.3 (#14753) * Build(deps): Bump excon from 0.87.0 to 0.88.0 (#14751) * PERF: There was a large performance regression in Logster * DEV: Remove unneeded qunit-helper override * DEV: Teardown appEvent listener in edit-notification-clicks-tracker * DEV: teardown event listeners in click-interceptor * DEV: Ensure core initializers with `.reopen` are only called once * DEV: Teardown leaky page:changed `appEvent`s between tests * UX: Remove animation in admin theme list (#14743) * DEV: Sanitize HTML admin inputs (#14681) * DEV: nullify cachedCookFunction to prevent retains (#14737) * FIX: Cleanup PresenceChannel instances when composer closed (#14741) * UX: Change login tabindex, follow-up to 6aa6275 (#14734) * FIX: prevents a circular json error in tests (#14738) * Update translations (#14714) * FIX: Vanilla importer fixes (#14699) * DEV: rename refresh action to avoid regressions in the future (#14721) * DEV: simplify username suggester (#14531) * DEV: Fix rubocop issues (#14715) * UX: change tabindex on login to skip email login link (#14732) * DEV: Use double quotes for js-flags (#14693) * FIX: Avoid N+1 query in `Site.json_for` (#14729) * UX: Apply tags during PM creation (#14731) * UX: Make PresenceChannel changes more responsive (#14733) * UX: Never show back button if less than current position * DEV: Apply rubocop to script/import_scripts/phorum.rb (#14727) * UX: Don't show anchor icon on touch devices (#14724) * FIX: Correctly avoid concurrent requests in PresenceChannel get * DEV: Raise error when anon subscribes to PresenceChannels on login_required sites * DEV: Ensure presence beforeunload event listener is cleaned up * FIX: Do not send presence leave beacon if not present in any channels * Update phorum.rb * FIX: Show right message when permanently deleting topic (#14717) * DEV: Specify target browsers when running Ember CLI tests from the docker rake task (#14720) * FEATURE: Mark omniauth failures as HTML safe. (#14713) * UX: Re-order auth-related site settings for clarity (#14716) * Build(deps): Bump omniauth-facebook from 8.0.0 to 9.0.0 (#14712) * Build(deps): Bump ipaddr from 1.2.2 to 1.2.3 (#14711) * PERF: Optimize search in private messages query (#14660) * DEV: Add uploadHandler support to composer-upload-uppy mixin (#14692) * DEV: Only set `tap_failed_tests_only` to true for CI. (#14710) * FEATURE: Add fullscreen-tables to post (#14709) * FIX: Correct tracking context for some category routes (#14685) * DEV: Don't leak auth methods between tests (#14708) * Build(deps): Bump rubocop from 1.22.1 to 1.22.2 (#14705) * Build(deps): Bump json from 2.6.0 to 2.6.1 (#14704) * FIX: Include the Vary:Accept header on all Accept-based responses (#14647) * DEV: removes jquery usage from time formatter (#14700) * DEV: uses vanilla js for fixture qunit helper (#14703) * DEV: replaces jquery call by vanilla js in uploader tests (#14702) * DEV: drops jquery usage from ajax wizards lib (#14694) * DEV: removes jquery usage from linkSeenMentions codepath (#14695) * DEV: prevents flakky spec when deleting plugin (#14701) * FIX: Allow every tag for watched words (#14684) * DEV: Move loadLibs to explicit install message in media-optimization-worker (#14707) * FEATURE: include user custom fields in base exporter (#14690) * DEV: Remove a few unused icons (#14696) * DEV: Make PresenceChannel timeout configurable per-channel (#14697) * DEV: removes jquery usage from onebox (#14683) * DEV: Remove useless ordering when searching within a topic. (#14676) * DEV: Pass topic to `TopicView.add_post_custom_fields_allowlister` (#14678) * Build(deps): Bump zeitwerk from 2.5.0 to 2.5.1 (#14688) * Build(deps): Bump image_optim from 0.31.0 to 0.31.1 (#14689) * DEV: Remove enable_experimental_image_uploader site setting (#14691) * DEV: Add new bookmarks:changed app event (#14674) * FIX: Remove superfluous topic allowed users on group invite (#14656) * DEV: allow composer option to skip jumping to a post on save (#14675) * FIX: Correct site setting name (#14686) * Update copy of the max_new_accounts_per_registration_ip description to indicate that the setting can be disabled (#14687) * DEV: Fix thor deprecation warning (#14680) * FIX: Don't leak unhashed user API keys to redis (#14682) * FIX: 2N+1 sql in admin /api/keys endpoint (#14679) * UX: Add special case for user search when in a topic (#14669) * UX: Sometimes the footer would show up while refreshing a list route * DEV: Update discourse-presence plugin to use new PresenceChannel system (#14519) * DEV: removes unnecessary caret position code (#14665) * DEV: Remove code that is no longer valid. (#14657) * UPDATE: correct path to messages (#14668) * Build(deps): Bump zeitwerk from 2.4.2 to 2.5.0 (#14670) * DEV: Refactor bookmark modal code (#14654) * DEV: Update AWS API stub following gem version bump (#14673) * Version bump to v2.8.0.beta7 (#14667) * Version bump to v2.7.9 * SECURITY: Improve validation of SNS subscription confirm (#14671) * SECURITY: Improve validation of SNS subscription confirm (#14672) * FIX: Make the `verbose_auth_token_logging` setting off by default (#14664) * FIX: Show search context only in topic routes (#14650) * FIX: Broken quick search on iPadOS (#14663) * DEV: drops jquery usage from wizard-canvas (#14662) * DEV: drops jquery usage un admin-report-chart (#14661) * Simplification of install Guide (#13716) * FIX: reset sso email and payload when user navigates away (#14658) * FIX: none row doesn’t have a value, use class to target it (#14659) * Build(deps): Bump racc from 1.5.2 to 1.6.0 (#14652) * FIX: Topic timeline not updating in megatopics. (#14645) * DEV: Mark discourse-category-experts official (#14655) * FEATURE: Allow recovery of deleted small action posts (#14643) * Update replit onebox to accept .com * FIX: Do not query backend when searching "in this topic" (#14649) * Update translations (#14648) * FIX: remove 'crawl_images' site setting (#14646) * FEATURE: add a hidden setting that enables using email as a source for username suggestions (#14623) * FIX: only replaces double quotes and uses unicode (#14644) * FIX: Do not show recipient user in email participants list (#14642) * FEATURE: Change all core to use uppy-image-uploader (#14428) * Mark shared-edits plugin as official (#14639) * DEV: Centralize logic for applying order to filtered posts. (#14634) * FIX: Clarify None Needed option when editing bookmarks (#14633) * UX: Adjust quick search input width (#14640) * FIX: Hide full screen toggle button when textarea is disabled (#14638) * UX: Better topic search experience (#14625) * UX: Show fewer toolbar icons in mobile composer (#14621) * UX: Display full-page user search in a grid (#14636) * FEATURE: Add setting to disable notifications for topic category edits (#14632) * DEV: Remove `TopicView#first_post_id`. (#14631) * DEV: Fix wasm_bindgen double loading errors in Firefox (#14630) * DEV: Bump uppy module versions for retryable prepareUploadParts (#14629) * DEV: Reduce an additional DB query in `TopicView` for ignored users. (#14619) * Build(deps): Bump redis from 4.4.0 to 4.5.1 (#14627) * Build(deps): Bump openssl from 2.2.0 to 2.2.1 (#14628) * FEATURE: Add reversed and type to allowed attributes (#14626) * FIX: Category and tag picker alignment on mobile (#14622) * REVERT: "DEV: APIs to disable PWA badging and unsubscribe from user notifications (#14595)" (#14620) * Build(deps): Bump json from 2.5.1 to 2.6.0 (#14612) * DEV: Remove useless assignment in `TopicView#filter_posts_paged`. (#14618) * FEATURE: Cache CORS preflight for MessageBus (#14616) * DEV: Remove unused code from `TopicView`. (#14605) * DEV: Refactor `TopicView#filter_posts` for readability. (#14606) * FEATURE: Cache CORS preflight requests for 2h (#14614) * FIX: correct api version after minor bump (#14615) * FEATURE: add downloadCalendar to plugin api (#14603) * DEV: Remove warnings on console (#14608) * FIX: Improve quick search speed and result highlights (#14610) * DEV: Allow register options to be passed to `registerServiceWorker` (#14609) * FIX: Allow staff to view pending/expired invites of other users (#14602) * FIX: also track textContent mutations (#14607) * FIX: Decorate posts that are loaded after the initial render in post stream (#14600) * Build(deps): Bump puma from 5.5.1 to 5.5.2 (#14601) * FIX: improvements for download local dates (#14588) * FIX: Ensure embedded replies/reply-to links open in _blank (#14597) * UX: Better visibility for context search (#14599) * DEV: Export register service worker logic (#14598) * PERF: Reduce work when external sources are allowed in `InlineUploads` (#14594) * DEV: APIs to disable PWA badging and unsubscribe from user notifications (#14595) * DEV: Fix presence testing in legacy ember environment (#14596) * UX: Add `Enter` hint to search dropdown (#14587) * A11Y: Don't output aria label identical to title (#14586) * FIX: groups using users icon were lacking margin in search (#14591) * FEATURE: Allow admins to permanently delete posts and topics (#14406) * UX: Add missing translation (#14592) * FIX: attempts to observe preview mutation asap (#14590) * FIX: attempts to enforce caret position in filter (#14589) * FIX: Use absolute URLs in search shortcut (#14585) * PERF: Use a subquery when excluding a tag from topic query. (#14577) * Build(deps): Bump puma from 5.5.0 to 5.5.1 * FIX: `BackupRestore::DatabaseRestorer` failures with Ruby 3 * UX: remove `aria-label` for buttons when `title` attribute exists. (#14529) * UX: Improve route hierarchy in for user-invites (#14583) * DEV: correct argument names for addGlobalNotice (#14582) * Revert "DEV: add routes_lazy_route to boost boot-up time (#14545)" (#14581) * FIX: show group filter only when user is logged in and groups are present (#14578) * Update translations (#14579) * DEV: Add pluginApi support for quick search tips (#14556) * FEATURE: stop using email as source for username and name suggestions for Single Sign On (#14541) * FIX: extract filter pm and categories from UserAction (#14569) * FIX: nil the baked version after moving the posts. (#14483) * FIX: use category's default sort order in latest & unseen filters only. (#14571) * UX: Restore new messages button on mobile on PM route. (#14576) * Build(deps): Bump mini_mime from 1.1.1 to 1.1.2 (#14574) * Build(deps-dev): Bump routes_lazy_routes from 0.4.1 to 0.4.2 (#14575) * FIX: Missing excerpt for post small actions in topic timeline. (#14547) * FIX: Remove List-Post email header (#14554) * FIX: Move check if user is suspended later (#14566) * FIX: update translation key to match flag reason. (#14573) * FIX: phpbb import - attachments not embedded in posts (#14570) * Build(deps): Bump excon from 0.86.0 to 0.87.0 (#14568) * DEV: Add basic acceptance tests for quote shortcut and fast-edit * DEV: Move duplicate `selectText` helper into qunit-helpers * FEATURE: shortcuts for quote (q) and fast edit (e) * FIX: Handle separately invite to topic and forum (#14562) * DEV: add routes_lazy_route to boost boot-up time (#14545) * FIX: topic_tracking_state not erroring when missing user_stat (#14559) * FIX: Ruby 3 does not freeze interpolated string (#14567) * FIX: Fix local-dates in non-post contexts, and in long topics (#14565) * DEV: Plugin API for customizing text in the composer conditionally * FIX: Correct password change path for password managers (#14561) * FIX: Resolve quoting issues by reverting new shortcuts (#14560) * FIX: Disable previews if diffhtml is enabled (#14537) * DEV: use mailhog in our docker dev environment (#14549) * FIX: Apply quote selection workaround to all browsers (#14558) * FIX: selection going missing in Safari (#14557) * DEV: add test cases that prove that sso can override username from "bob1" to "bob" (#14555) * FIX: JS error when showing topic search results (#14551) * DEV: Move settings to linkify to the serializer code. (#14553) * UX: adds shortcuts for quote (q) and fast edit (e) (#14552) * DEV: Various behind-the-scenes improvements to PresenceChannel (#14518) * DEV: Update invite API docs expires_at default (#14550) * FIX: Strip `discourse-logged-in` header during `force_anonymous!` (#14533) * UX: Add keyboard shortcut for fast edits (#14543) * DEV: Fix flaky search test (#14546) * FIX: do not persist tags query param (#14527) * FIX: Tooltip in quick search didn't work (#14542) * DEV: Allow actions to change the manifest endpoint (#14522) * UX: More consistent shortcut labels for macOS (#14538) * FEATURE: Adds an API to exclude a tag from a TopicQuery * DEV: Fix api docs for default calendar (#14539) * UX: Fix alignment of composer when tags are disabled (#14535) * DEV: Add include_subcategories param to api docs (#14534) * FIX: Check env for multisite config path even if config file exists (#14536) * Add LTI plugin (#14532) * DEV: process image uploads in the Zendesk API import script (#14524) * UX: Revamp quick search (#14499) * FIX: Disable Show results if nobody voted (#14528) * DEV: Pass kwargs to the redis gem when calling methods/commands that we don't wrap (#14530) * FIX: Hide form after password reset (#14526) * FIX: Parse address lists in embedded emails (#14514) * DEV: adds a topic level bookmark toggle (#14471) * FIX: local date trim when no time available (#14525) * FIX: select all button on group assigned page (#14523) * FEATURE: save local date to calendar (#14486) * UX: Change layout of invites page to match other user pages (#14520) * FIX: Reenable global setting HTML support. (#14521) * FEATURE: Return subcategories on categories endpoint (#14492) * FIX: Display embeddable host's post to category. (#14517) * FIX: Support Ruby 3 keyword arguments * DEV: Add plugin outlet to the bottom of flag modal (#14413) * Update translations (#14513) * UX: Global notice no longer accepts HTML. (#14515) * DEV: Use Set instead of array-as-an-object (#14511) * FIX: Ember CLI was always loading the admin payload in dev mode * UX: capitalize unsubscribed email locale (#14512) * DEV: replace mailcatcher references with mailhog (#14500) * FIX: Vimeo private video oneboxes were broken (#14510) * DEV: observe all elements to prevent any missed mutation (#14507) * FIX: Use addresses to compare email header (#14509) * FEATURE: Allow users to remove their vote (#14459) * FIX: Stop tracking incoming message after navigating away take 2. (#14508) * DEV: Allow `onStateChange` callbacks for PM topic tracking state. (#14479) * FIX: Stop incoming message tracking after navigating away. (#14498) * Build(deps): Bump jwt from 2.2.3 to 2.3.0 (#14505) * Build(deps): Bump rubocop from 1.22.0 to 1.22.1 (#14506) * UX: Use consistent category badge font size in dropdowns (#14502) * UX: Fix label in search when tagging is disabled (#14503) * FIX: Make score's reason link building more explicit (#14475) * DEV: Remove HTML setting type and sanitization logic. (#14440) * FIX: empty state message on the user bookmarks page (#14257) * FEATURE: make username suggester suggest `user1`, `user2` etc. for input that contains invalid characters only (#14179) * FIX: Exclude PMs that user sent to themselves. (#14496) * Build(deps): Bump image_optim from 0.30.0 to 0.31.0 (#14494) * Build(deps): Bump excon from 0.85.0 to 0.86.0 (#14495) * FIX: `Topic.similar_to` results in invalid query for certain locales. (#14497) * DEV: add plugin outlet to categories page (#14491) * FIX: Do not show 'new or updated topics' for mobile categories page (#14490) * FIX: Follow the canonical URL when importing a remote topic. (#14489) * PERF: Avoid running ignored users DB query for anon users. (#14487) * DEV: skip S3 CDN urls with different path in prefix. (#14488) * FIX: Error loading suggested topics for anon users. (#14485) * UX: PM inboxes being expanded incorrectly when viewing tags. (#14478) * DEV: Fix moment warnings (#14482) * Build(deps): Bump rubocop from 1.21.0 to 1.22.0 (#14476) * DEV: Export resetIdle function in desktop-notifications.js (#14474) * DEV: Reuse can_invite_to_forum? in can_invite_to? (#14392) * FIX: Notify incoming to categories and latest topics view specifically. (#14473) * DEV: Clear pretender request log between test runs (#14456) * FIX: restrict other user's notification routes (#14442) * DEV: uses standard browser_start_timeout (#14472) * DEV: little cleanup in the notifications-index component (#14464) * FIX: incorrect interpolation was limiting to 1 dispatch / component (#14470) * FIX: Do not publish post for PM topic tracking if not new for user. (#14469) * UX: Don't display group messages link for group with no messages. (#14453) * Build(deps): Bump rubocop-ast from 1.11.0 to 1.12.0 (#14467) * DEV: Bulk imports should find existing users by email (#14468) * DEV: Sort styleguide icons alphabetically and fix render on refresh (#14463) * DEV: Increase chrome JS memory limit in CI (#14446) * DEV: Print usedJSHeapSize to the console after QUnit run (#14462) * DEV: prevents route nodes to leak on each test run (#14457) * Update translations (#14460) * UX: Show scrollbar only when needed in dropdowns (#14461) * DEV: Use isLegacyEmber helper in setup-tests (#14458) * DEV: Destroy application instance after each test (#14455) * PERF: Revert all inboxes from messages route. (#14445) * Fix: Support Ruby 3 keyword arguments for DiscourseRedis (#14444) * PERF: Improve database query perf when loading topics for a category. (#14416) * DEV: Make discourse-reactions official and sort existing plugin list (#14452) * Build(deps): Bump nokogiri from 1.12.4 to 1.12.5 (#14451) * UX: Adjust mobile spacing for full page search (#14450) * DEV: Plugin API to add to document title count (#14449) * FIX: Workaround Safari 15 createImageBitmap bug (#14448) * REFACTOR: minor changes to api-keys-new (#14435) * REFACTOR: setting component mixin (#14437) * FIX: Do not display userColorSchemeId in the UI (#14441) * A11Y: Use shorter label for hamburger menu (#14439) * DEV: Tag topic list needs discovery outlets (#14438) * A11Y: Fix several minor issues (#14436) * SECURITY: Escape watched word in error message (#14434) * SECURITY: Escape watched word in error message (#14434) * DEV: Adding plugin outlets to avoid overrides (#14433) * A11Y: Add labels to some search fields, category notification selector (#14430) * UX: Ensure sticky elements don't overflow header (#14432) * FIX: make update banner always available on the categories view (#14431) * UX: Better placement for bulk select actions button (#14419) * FIX: more robust tabindex restriction on preview (#14425) * UX: move fast edit before sharing (#14429) * FIX: Ensure subcategory list is hidden when not required (#14424) * DEV: Disable upload instrumentation if performance.measure returns undefined (#14427) * FIX: Do not error _removeDeleteOnOwnerReplyBookmarks on navigate (#14426) * FIX: Don't try to boot the ember app on old browsers (#14423) * DEV: Fix flaky search-full-page test (#14421) * DEV: Add toolbar button when chat in installed (#14422) * DEV: Fix theme qunit error messages (#14420) * FIX: correctly defines data-attributes used by local-dates (#14418) * FIX: Feature detect globalThis (#14410) * FIX: `include_` serializer methods must end with ? (#14407) * FEATURE: enables fast edit by default (#14417) * UX: Adjust quote button position on mobile (#14411) * Build(deps): Bump rubocop-rspec from 2.4.0 to 2.5.0 (#14412) * FIX: Use unread post excerpt for topic-level bookmark excerpt (#14414) * DEV: Use i18n.toHumanSize instead of formatBytes (#14415) * DEV: Add instrumentation for uploads (#14397) * FEATURE: Humanize file size error messages (#14398) * DEV: Update Ember CLI plugin tests to use QUNIT_EMBER_CLI * DEV: Allow Ember CLI for `rake qunit:test` and `rake plugin:qunit` * UX: Add second Search button on mobile (#14404) * FEATURE: add update banner to the categories and latest topics view (#14403) * DEV: Add plugin-related parameters to the QUnit web UI * DEV: Add qunit filter parameter support to Ember CLI tests route * A11Y: Add more descriptive labels for some dropdowns (#14402) * DEV: Add dedicated job for Ember CLI tests with plugin (#14393) * Update translations (#14400) * A11Y: Use listbox role for dropdowns (#14391) * DEV: Trigger an app event when a card is shown (#14399) * DEV: Use a better selector for search menu (#14390) * FEATURE: Go to last unread for topic-level bookmark links (#14396) * DEV: Improve tests coverage when listing private messages. (#14385) * FIX: use active record `update_attribute` instead of mini sql. (#14367) * Build(deps): Bump bootsnap from 1.9.0 to 1.9.1 (#14394) * FEATURE: Topic-level bookmarks (#14353) * DEV: Improve uppy plugin base and large file handling (#14395) * DEV: Add `post_alerter_after_save_post` event (#14388) * REFACTOR: move composer min-height to CSS (#14378) * UX: Share button margin consistency (#14376) * UX: fix profile button spacing (#14375) * DEV: Refactor the api docs for the user endpoint (#14377) * FIX: Do not reload card if already loaded (#14129) * FEATURE: user/category/tag results in full page search (#14346) * DEV: Clean up some styles (#14374) * DEV: observes used properties in reason text (#14389) * Revert "DEV: Improve uppy plugin base and large file handling (#14383)" (#14387) * FIX: Handle forwarded email quotes around Reply-To display name (#14384) * DEV: Improve uppy plugin base and large file handling (#14383) * FIX: return empty array when no parent for range (#14386) * DEV: trash category definition topic instead of destroying. (#14356) * FIX: rss gem is bundled gem since Ruby 3 (#14350) * FIX: empty state message on the group messages pages (#14371) * Build(deps): Bump bootsnap from 1.8.1 to 1.9.0 (#14363) * Build(deps): Bump faraday from 1.7.2 to 1.8.0 (#14380) * Build(deps): Bump puma from 5.4.0 to 5.5.0 (#14381) * Build(deps-dev): Bump parallel_tests from 3.7.1 to 3.7.3 (#14382) * FEATURE: local dates range on click (#14355) * UX: Improve composer button bar on mobile (#14373) * DEV: Set composer upload btn selectors in component (#14324) * DEV: Add chat to notifications to test notification-types (#14372) * UX: Prevent invite form fields from resizing (#14370) * UX: Fix date input icon display issues (#14369) * UX: minor fast edit tweaks (#14368) * FIX: Update only passed custom fields (#14357) * UX: improves fast edit fallback handling (#14366) * FIX: Hoisting linebreaks shouldn't fail for HTML5 elements (#14364) * DEV: only use the records that are auto populated by the task. (#14360) * PERF: Fix N+1 queries in SiteSerialier. (#14365) * FIX: Offer site_logo_dark_url as an option for dark mode themes (#14361) * DEV: update comments on unused Uploads. -4 is now considered reserved. (#14362) * UX: Optionally show a "Summarize" button in topic timeline (#13533) * Remove Atom from README * FEATURE: improve blank page syndrome on the activity/topics, activity/read and group messages pages (#14313) * FIX: add locales for group mention PM variants (#14358) * FEATURE: improve blank page syndrome on the user activity pages (#14311) * Added S3 region eu-south-1 Milanù * FIX: Remove incoming messages for read events. (#14352) * Build(deps): Bump unicode-display_width from 2.0.0 to 2.1.0 (#14348) * DEV: use upload id to save in theme setting instead of URL. (#14341) * DEV: Fix flaky site.json api test (#14351) * DEV: Ignore reminder_type for bookmarks (#14349) * FIX: Address ArgumentError to support Ruby 3 keyword arguments * FEATURE: experimental fast edit (#14340) * Partially revert "PERF: Improve query performance all inbox private messages. (#14304)" (#14344) * PERF: Improve query performance all inbox private messages. (#14304) * DEV: Add for_topic column to bookmarks (#14343) * Build(deps): Bump unf_ext from 0.0.7.7 to 0.0.8 (#14342) * DEV: Ignore bookmarks.topic_id column and remove references to it in code (#14289) * FEATURE: remove duplicated messages about new advices (#14319) * DEV: Change to show failed tests only Ember tests (#14335) * DEV: Support translated title in desktop/notifications (#14325) * FIX: prevents extreme cases to overflow in selected content (#14339) * FIX: Do not suggest Emoji when in open code blocks (#14337) * Update translations (#14336) * UX: Fix tab groups editing layout issues on mobile (#14329) * FEATURE: Use second factor for admin confirmation (#14293) * FEATURE: Cook drafts excerpt in user activity (#14315) * FIX: Update only present fields in request (#14310) * DEV: Change uploads.filesize column to bigint (#14334) * Build(deps): Bump parallel from 1.20.1 to 1.21.0 (#14332) * Build(deps): Bump rubocop from 1.20.0 to 1.21.0 (#14331) * Build(deps): Bump faraday from 1.7.1 to 1.7.2 (#14333) * DEV: Match viewport metadata on mobile in Ember CLI (#14330) * FIX: Optimistically fix topic timeline state issues * DEV: Allow TopicEmbed.import to optionally receive a list of tags (#14301) * Revert "DEV: Define --footer-nav-height css var (#14008)" (#14327) * UX: Use standard font size for buttons at the end of /top page (#14326) * DEV: Use actions matrix to parallelize ember cli tests (#14323) * FIX: Use <textarea> for theme translations (#14322) * UX: Fix mobile styling for admin color schemes (#14314) * UX: Fix alignment for admin controls on mobile (#14312) * DEV: Fix the cron ember workflow (#14320) * DEV: Mark Ember CLI action as experimental (#14321) * FIX: Do not error mobile upload button if !allowUpload (#14317) * Revert "FIX: Give the topic timeline unique keys for state" * FEATURE: Make the multisite config path configurable (#14308) * UX: Fix date input display in iOS (#14307) * FIX: Mobile nav styling (#14309) * DEV: Fix github event type name for cron runs (#14306) * FIX: Give the topic timeline unique keys for state * UX: Minor layout tweaks to dropdowns (#14299) * DEV: Bump uppy-s3 to 2.0.2 to fix XHR bug (#14303) * FIX: Make sure S3 object headers are preserved on copy (#14302) * FEATURE: Add game consoles to unsupported browsers (#14294) * FIX: Don't publish PM archive events to acting user. (#14291) * DEV: Refactor uppy plugin interfaces (#14275) * DEV: Add rake task to check that the DB can be accessed (#14300) * DEV: Run Ember CLI tests in Firefox evergreen too (#14283) * FIX: Don't attempt to migrate multisite test db while holding the mutex (#14298) * DEV: Work around HTMLElement.innerText differences between browsers (#14297) * markdown_linkify_tlds: Added onion in default * UX: Normalize sizing for inputs, buttons, dropdowns (#14226) * FIX: Resolve short URLs after diffHTML was loaded (#14296) * FIX: Correct the play icon position (#14295) * DEV: Don't check the `defaultState` every time a widget is rendered * FIX: Do not replace in mentions and hashtags (#14260) * FIX: Display unread/new PM links only when viewing own user. (#14290) * FIX: Remove dismissed new topics from PM topic tracking state. (#14288) * FIX: Remove dismiss read topics from PM topic tracking state. (#14287) * FIX: Better positioning for "Skip to main content" button (#14286) * FEATURE: Publish read topic tracking events for private messages. (#14274) * PERF: Avoid running query unnecessarily when updating bookmark. (#14276) * FIX: Ember CLI was being hijacked before potential errors * FIX: Composer height issue in Safari on iOS 15 (#14282) * FIX: ignore canonical link for medium.com oneboxes (#14278) * FIX: do not show spoiler content in RSS (#14277) * DEV: uses forked Mousetrap to avoid leaking listeners (#14198) * DEV: Use discourse image redis in CI (#14280) * DEV: Add support to Ember CLI for running message format in tests (#14271) * FIX: Always show the creation date of posts in crawler view (#14269) * FIX: Correct highest post number for read topic tracking state. (#14273) * FIX: better filter for groups search (#14262) * FIX: Error in Ember CLI environment * DEV: Do not clean up chat message uploads (#14267) * UX: adjust button spacing (#14230) * DEV: Run Ember tests daily with plugins (#14261) * DEV: Add site.json to api docs (#14249) * DEV: Add license field to api docs info section (#14248) * A11Y: do not default to label for aria-label (#14258) * Update translations (#14266) * DEV: Don't transition miniprofiler on first page load. (#14265) * FEATURE: Display new/unread count in browse more messages for PMs. (#14188) * DEV: Warm ActiveRecord cache for Sidekiq after Rails initializes. (#14253) * DEV: Stop ignoring bookmarks.delete_when_reminder_sent (#14264) * FIX: Capture CC addresses for forwarded emails (#14254) * REFACTOR: Remove unneeded mobile `hbs` file (#14259) * FEATURE: enable users to choose unseen as a default view (#14242) * FEATURE: Hide suspended users from site-wide search to regular users (#14245) * FIX: perform `agree_and_keep` action only if possible. (#13967) * FIX: Correct the forwarded by user small post for group inbox (#14252) * PERF: Avoid additional database query when viewing own user. (#14239) * DEV: Require uppy.js in theme_qunit_vendor.js (#14251) * FIX: Use random file name for temporary uploads (#14250) * FEATURE: allow plugins to extend Groups (#14216) * DEV: Add addComposerUploadPreProcessor to plugin-api (#14222) * UX: limit select-kit tag chooser width (#14246) * FIX: Search was not being initialized properly. * FIX: We weren't properly resetting the mobile state between tests. * DEV: Run tests in Firefox ESR (#14094) * DEV: toggle sk on click (#14243) * FIX: Don't attempt to migrate concurrently with other migrations (#14231) * DEV: prevents focus event bubbling (#14241) * DEV: simplify logic when selecting an undefined value (#14225) * DEV: Add missing operationIds to the api docs (#14235) * FIX: allow single string values on custom multiple select fields and not just arrays (#14236) * FIX: increase chunk size to fetch title tag correctly (#14144) * PERF: Improve query perf when fetching unread for PM topic tracking state. (#14237) * A11Y: Improve create account modal for screen readers (#14234) * Revert "A11Y: Improve create account modal for screen readers (#14204)" (#14233) * A11Y: Improve create account modal for screen readers (#14204) * UX: Remove `:empty` on topic-statuses, clean up (#14227) * FEATURE: Enable auto dark mode on new instances (#14208) * DEV: This constructs a `pluginId` for `modifyClass` when dispatching events * Version bump to v2.8.0.beta6 (#14228) * DEV: re-enable ember-cli tests on CI (#14189) * DEV: prevents uppy to act on destroyed object (#14224) * DEV: prevents broken tests due to focus bubbling (#14223) * FIX: bug with navigation to the activity/topics and the activity/read pages (#14182) * FIX: In test mode, initializers were modifying classes over and over * FIX: Make bindMobileUploadButton explicit for upload mixins (#14220) * DEV: Don't clear sidekiq default error handlers in development. (#14205) * Build(deps): Bump ffi from 1.15.3 to 1.15.4 (#14214) * Build(deps): Bump aws-eventstream from 1.1.1 to 1.2.0 (#14215) * DEV: Update Plugin Release Notes heading format (#14218) * DEV: Pin oj gem to 3.13.2. (#14219) * FIX: downgrade oj (#14217) * DEV: Allow passing cook_method to TopicEmbed.import to override default (#14209) * Version bump to v2.8.0.beta5 (#14210) * Version bump to v2.7.8 * FIX: Visible "skip navigation" link on some themes (#14211) * FIX: Use named params correctly with dir-span (#14203) * DEV: prevents hooks to create leaks on widgets (#14207) * DEV: cards were leaking mousedown event listener (#14206) * Build(deps): Bump oj from 3.13.2 to 3.13.3 (#14202) * DEV: Extract textarea text manipulation to mixin (#14201) * UX: Comma separate public custom field lists (#14200) * A11Y: Add "skip to main content" link (#14190) * UX: Select-kit update alignment fixes (#14199) * Update translations (#14197) * DEV: prevents _lastKeyTimeout to leak after component lifecycle (#14194) * FEATURE: option to update default notification level of existing users. (#14084) * DEV: Use named parameters for dir-span helper (#14195) * FIX: Jump to reply button in post stream was not working (#14123) * PERF: Make `TopicViewSerializer#requested_group_name` more efficient. (#14196) * Build(deps): Bump faraday from 1.7.0 to 1.7.1 (#14191) * Build(deps): Bump rack-mini-profiler from 2.3.2 to 2.3.3 (#14192) * Build(deps-dev): Bump test-prof from 1.0.6 to 1.0.7 (#14193) * UX: Better login/signup styling for small desktop windows (#14185) * DEV: Update api docs for search endpoint (#14181) * DEV: Add default on encoding to dir-span (#14183) * FIX: Ensure id sequences are not reset during db:migrate (#14184) * UX: use existing guardian method to check messageable group. (#14174) * UX: display correct replies count in embedded comments view. (#14175) * Build(deps): Bump nokogiri from 1.12.3 to 1.12.4 (#14187) * Build(deps): Bump bootsnap from 1.8.0 to 1.8.1 (#14186) * FIX: Update PresenceChannel#present to work for redis 6.0 (#14180) * FIX: Allow PresenceChannel to work on Redis 6.0 (#14178) * DEV: make composer-upload-uppy more flexible * DEV: Introduce PresenceChannel API for core and plugin use * Build(deps): Bump bootsnap from 1.7.7 to 1.8.0 (#14171) * Build(deps): Bump rqrcode_core from 1.1.0 to 1.2.0 (#14170) * Build(deps): Bump rqrcode from 2.0.0 to 2.1.0 (#14169) * Build(deps): Bump rubocop from 1.19.1 to 1.20.0 (#14168) * DEV: reapply height hack for iOS (#14176) * DEV: Bump Uppy to v2.X and rebuild bundle (#14173) * DEV: Make composer-uppy-upload mixin more extensible (#14138) * FIX: correctly apply unusual padding to profile dropdowns (#14172) * FIX: Capture S3 metadata when calling create_multipart (#14161) * DEV: Promote all `javascripts/discourse` devDependencies to dependencies (#14167) * DEV: Remove `yarn install` during `assets:precompile` (#14166) * UX: improve blank page syndrome on the user messages page (#14165) * PERF: Remove redundant post_timings_summary index (#14164) * DEV: updates popperjs 2.0.6 -> 2.9.3 (#14163) * REFACTOR: badge-title component (#14162) * DEV: Revert uppy upgrade * FIX: Correctly display GitHub code oneboxes (#14149) * FEATURE: Create notification for redeemed invite (#14146) * FIX: Do not send emails to mailing_list_mode subscribers for PMs (#14159) * FIX: Topic reset_new unscoped causing huge queries (#14158) * SECURITY: escape cat name (#14155) * SECURITY: escape cat name (#14154) * FIX: Do not prefix temp/ S3 keys with s3_bucket_folder_path in S3Helper (#14145) * Revert "DEV: fixes broken tests on ember-cli due to uppy" * UX: Add Styling step to wizard (#14132) * Revert "FIX: The `LogsNotice` service was never unsubscribing from the mbus" * FIX: The `LogsNotice` service was never unsubscribing from the mbus * DEV: fixes broken tests on ember-cli due to uppy * FEATURE: improve "blank page syndrome" on the user notifications page (#14103) * FIX: Remove spacing from GitHub oneboxes (#14147) * FIX: Add plugin event to topic list user lookup (#14116) * FIX: Make user-card-metadata plugin outlet tagless (#14131) * DEV: Do not delete failed uploads from S3 in debug mode (#14143) * DEV: Remove the use of stubs. (#14142) * DEV: Do not abort direct S3 uploads if upload_debug_mode enabled (#14141) * FEATURE: allow admin to delete all posts by a user irrespectively (#14128) * FEATURE: Display unread and new counts for messages. (#14059) * Revert "Build(deps-dev): Bump parallel_tests from 3.7.1 to 3.7.2 (#14136)" (#14140) * FIX: Order outputted theme stylesheets (#14133) * Build(deps): Bump rubocop-ast from 1.10.0 to 1.11.0 (#14134) * Build(deps-dev): Bump parallel_tests from 3.7.1 to 3.7.2 (#14136) * Build(deps): Bump rails-html-sanitizer from 1.4.1 to 1.4.2 (#14135) * DEV: Do not destroy external upload stub on error in debug mode (#14139) * FIX: Restructure temp/ folders for direct S3 uploads (#14137) * FEATURE: Uppy direct S3 multipart uploads in composer (#14051) * minor wording fix for get a room message (#14130) * FIX: the empty state message was appearing in wrong moments on the user bookmarks stage (#14127) * Update translations (#14063) * DEV: adds server:after-body-open (#14106) * FEATURE: Make allow_uploaded_avatars accept TL (#14091) * FIX: Do not allow negative values for LIMIT (#14122) * Build(deps): Bump sidekiq from 6.2.1 to 6.2.2 (#14124) * Build(deps): Bump mini_mime from 1.1.0 to 1.1.1 (#14125) * Build(deps-dev): Bump faker from 2.18.0 to 2.19.0 (#14126) * FIX: Use original from address when forwarding to group inbox (#14114) * UX: Update "get a room" composer message (#14104) * FIX: minor SK3 styling issues in Safari (#14121) * FIX: Discard old search results if search term changes when moving posts to a different topic (#14117) * FIX: sk3 wizard regressions (#14120) * DEV: Watch for changes in wizard.scss (#14119) * FIX: do not focus after search if dropdown is collapsed (#14118) * linting (#14115) * DEV: updates chart.js to 3.5.1 (#14107) * DEV: select-kit third major update with focus on accessibility (#13303) * Revert "FIX: Close emoji autocomplete when the opening colon `:` is removed (#14102)" (#14112) * FEATURE: allow adding small action codes dedicated to groups (#14109) * FIX: Close emoji autocomplete when the opening colon `:` is removed (#14102) * FIX: Reset preProcessorStatus state correctly for composer-upload-uppy (#14111) * Build(deps): Bump image_size from 2.1.1 to 2.1.2 (#14108) * FIX: Use file.id instead of file.name for media-optimization resolvers (#14110) * DEV: adds plugin-outlet before category in /latest on mobile (#14105) * DEV: removes plugin generator (#14101) * DEV: Remove invalid class. (#14100) * FIX: Adding debugging and fixing media-optimization-worker issues (#14099) * DEV: Upgrade Rails to 6.1.4.1. (#14098) * Build(deps): Bump rubocop from 1.19.0 to 1.19.1 (#14095) * Build(deps-dev): Bump listen from 3.6.0 to 3.7.0 (#14096) * FEATURE: improve "blank page syndrome" on the user bookmarks page * DEV: UserOption.user_tzinfo (#14088) * DEV: adds plugin-outlet before category in /latest (#14092) * FIX: Always reload post's raw when editing a post (#14085) * DEV: Rename discourse-presence endpoints and messagebus channels (#14089) * FEATURE: Order pinned topics by their `pinned_at` column (#14090) * FIX: pick-files-button component (#14045) * FIX: Make themes:update work with multisites (#14082) * UX: do not show selected composer education messages on whisper post (#14078) * FIX: Deprecated method should still behave the same. (#14067) * FIX: Revoking admin or moderator status doesn't require refresh to delete/anonymize/merge user (#14073) * Build(deps): Bump rails-html-sanitizer from 1.3.0 to 1.4.1 (#14086) * FIX: do not show default locale option on site text customization (#14083) * FIX: Bookmark delete button alignment in modal-footer (#14087) * FIX: Include tags in quick search suggestions (#14080) * FIX: add a string for the Unseen view tab tooltip (#14079) * FIX: Remove markers from all translated languages (#14081) * FIX: log proper error message when SSO nonce verification fails (#14077) * FIX: Make site tasks work with duplicated uploads (#13972) * FIX: Unread group PMs should use `GroupUser#first_unread_pm_at`. (#14075) * Build(deps): Bump oj from 3.13.1 to 3.13.2 (#14070) * Build(deps): Bump fast_blank from 1.0.0 to 1.0.1 (#14071) * FIX: if the category slug is not present then search via ID (#14060) * DEV: Remove experimental uploader notice in composer (#14074) * FIX: Move bookmark modal buttons into modal-footer (#14072) * DEV: Allow passing a category parameter when importing a topic (#14069) * FIX: uses keyUp as widgets dont handle bubbling (#14068) * FIX: Do not display the color scheme ID in interface dropdown (#14066) * DEV: Include `login_required` attribute in basic info endpoint (#14064) * update INSTALL-cloud for discourse-setup * FIX: allows paste from context menu to work (#14061) * Build(deps-dev): Bump bullet from 6.1.4 to 6.1.5 (#14057) * FIX: Pass fileName to error handler for media optimization (#14058) * DEV: Remove references to stale branches in github actions. (#14053) * Replace `-depth` -> `-maxdepth` in boot_dev (#14046) * DEV: Remove an unnecessary join in `TopicTrackingState.report` take 2. * DEV: Disable Ember CLI tests on Github. * Revert "DEV: Remove an unnecessary join in `TopicTrackingState.report`." (#14054) * FIX: Clean up upload events properly in composer (#14052) * DEV: Remove an unnecessary join in `TopicTrackingState.report`. * UX: add a title to the user filter input * Build(deps-dev): Bump parallel_tests from 3.7.0 to 3.7.1 * Build(deps-dev): Bump rspec-rails from 5.0.1 to 5.0.2 * FIX: Composer Processing/Uploading status not clearing on cancel and trash (#14050) * Update translations (#13994) * Replace README logo with PNG (#14044) * Github doesn't like inline SVGs in the README (#14043) * UX: README logo SVG that supports dark mode (#14042) * FEATURE: Rate limit exceptions via ENV (#14033) * UX: Add margin to share input (#14041) * DEV: Fix some openapi spec issues (#14037) * DEV: decrease webhook timeout and move to 'low' priority queue. (#14038) * FIX: Paste event not propagating from composer using Uppy (#14040) * DEV: Remove unused code from `TopicTrackingState`. * FEATURE: First pass of using uppy in the composer (#13935) * Build(deps-dev): Bump mock_redis from 0.28.0 to 0.29.0 (#14034) * Build(deps): Bump rubocop from 1.18.4 to 1.19.0 (#14036) * FEATURE: Show the incomming topics banner on the Unseen view (#14032) * UX: Add data-topic-id to featured topic items (#14031) * FIX: Button alignment on messages (#14029) * DEV: Deprecate unused route instead of removing it. (#14030) * DEV: Fix several type issues with the api docs (#14016) * FIX: Query the items in the queue to calculate a user's flagged post count. (#14028) * DEV: Allow removing local assets after s3 sync (#14013) * DEV: Make db_timestamp_mover work with tables with unique constraints (#14027) * FIX: Unescapes hash section with present to account for url-encoded chars * TEST: Adds test for urls with url-encoded section hash * TEST: Adds test for urls with section hash * DEV: minor improvements in the vanilla import script. (#14026) * SECURITY: User's read state for topic is leaked to unauthorized clients. * SECURITY: User's read state for topic is leaked to unauthorized clients. * FIX: `TopicTrackingState.report` not including unread for staff posts. * DEV: Remove code that is not being used. * Build(deps): Bump discourse-fonts from 0.0.8 to 0.0.9 * Build(deps): Bump loofah from 2.11.0 to 2.12.0 * FIX: Notification menu broken on older browsers (#14019) * FIX: Category group moderators can read flagged post meta_topics (#14014) * DEV: Remove unused server-side route. (#14011) * DEV: Specify the latest openapi spec version (#14012) * DEV: Fix api docs tagging format (#14010) * UX: Fix mobile PM nav for regular users (#14007) * DEV: Add caret_position.js to ember-cli build (#14009) * DEV: Define --footer-nav-height css var (#14008) * FEATURE: Allow linking an existing account from invite acceptance (#13998) * UX: show flair help text for private member visibility only (#14005) * DEV: Remove unused attributes when publishing read/new. * DEV: Log duration of ember-cli asset build (#13980) * Build(deps): Bump rubocop-ast from 1.9.0 to 1.9.1 * Build(deps): Bump fastimage from 2.2.4 to 2.2.5 * Build(deps): Bump oj from 3.13.0 to 3.13.1 * Build(deps): Bump nokogiri from 1.12.2 to 1.12.3 * FIX: check if BasicBadge is enabled for TL1 welcome message (#13983) * UX: Indicate capped history revisions only when they're actually capped (#14000) * FIX: Fix rtl style for pull right (#13999) * FEATURE: add Unseen view (#13977) * Escape values of HTML attributes * FEATURE: Allow linking an existing account during external-auth signup * DEV: Improve robustness of associate_accounts_controller * DEV: Update associate_accounts_controller to use secure_session * UX: update member visibility help text to include flair information (#13995) * DEV: stop propagation of events on button click (#13993) * FIX: prevents exception on malformatted messages (#13997) * REVERT "FIX: do not show private group flair on user avatars" (#13991) * DEV: ensures container is not destroyed before showing tooltip (#13992) * UI: fixes sidebar settings border and active styles (#13990) * DEV: Fix uploads controller flaky presigned put spec (#13985) * Revert "DEV: Move rate limiter disable to after :each for tests (#13986)" (#13987) * DEV: Move rate limiter disable to after :each for tests (#13986) * UX: Missing translation for title attribute for PM tag route. * Build(deps): Bump oj from 3.12.3 to 3.13.0 * Build(deps): Bump faraday from 1.6.0 to 1.7.0 * FIX: Reuse avatar-flair component in group preview (#13961) * Revert "DEV: `Discourse.User` has been deprecated since 2.6" * DEV: `Discourse.User` has been deprecated since 2.6 * FIX: Errno::EXDEV when across filesystem boundaries (#13976) * DEV: Use `key` over the deprecated `keyCode` (#13795) * DEV: ensures click listeners are reset between tests (#13900) * FIX: prevents s shortcut to generate an error (#13974) * Build(deps): Bump rubocop-ast from 1.8.0 to 1.9.0 (#13975) * UX: disable "Queue For Review" button if user can't perform action. (#13966) * SECURITY: Destroy `EmailToken` when `EmailChangeRequest` is destroyed (#13950) * FIX: Don't swallow an error if we can't run `yarn ember build` * FEATURE: revert disallowing putting URLs in titles for TL0 users (#13970) * FIX: do not show flair bg color if flair is not visible (#13969) * DEV: ignore the given_daily_likes table when moving timestamps on Try (#13971) * DEV: Give callback listeners access to the request object. (#13965) * DEV: uses vanilla js and DOM to replace link mentions (#13959) * Build(deps-dev): Bump webmock from 3.13.0 to 3.14.0 * DEV: New Plugin API method for delegating an app event * DEV: clarify the slow mode specs names (#13962) * SECURITY: Sanitize d-popover attributes (#13958) * SECURITY: Sanitize d-popover attributes (#13958) * FIX: update iframe url for simplecast onebox (#13957) * DEV: Allow us to use Ember CLI assets in production * FIX: update oEmbed URL for simplecast onebox (#13956) * FEATURE: Disallow putting urls in the title for TL-0 users (#13947) * FIX: Group inbox new filter not accounting for dismissed topics. * FIX: Remove limit on dismissing unread and new messages. * FIX: Restore server side route for tag messages filter. * FEATURE: Dismiss new and unread for PM inboxes. * FIX: Wrong default notification level shown for group (#13952) * FEATURE: send user-card:show event (#13910) * DEV: resets post menu extra buttons between tests (#13939) * FIX: remove Nokogumbo references (#13951) * Build(deps): Bump nokogiri from 1.12.1 to 1.12.2 (#13948) * Build(deps): Bump sanitize from 5.2.3 to 6.0.0 (#13949) * SECURITY: Destroy `EmailToken` when `EmailChangeRequest` is destroyed (#13950) * DEV: Update pretender and fake-xml-http-request (#13937) * DEV: Add a widget API for injecting services * DEV: Remove `PostProcessed` trigger option (#13916) * DEV: Prevent npm usage (#13945) * DEV: do not process composer preview when collapsed (#13941) * PERF: generates dates tooltip on demand (#13944) * Update translations (#13929) * UX: append ellipsis to actions that have follow-up screen (#13943) * FIX: Update draft count when sequence is increased (#13940) * FIX: Make rake site:export_structure export uploads (#13938) * FIX: use search message context on group message page (#13936) * PERF: reduces rendering time of local-dates (#13931) * FIX: use `update_attribute` method to trigger callbacks. (#13930) * Build(deps): Bump nokogiri from 1.12.0 to 1.12.1 (#13932) * Build(deps): Bump nio4r from 2.5.7 to 2.5.8 (#13933) * Build(deps): Bump oj from 3.12.2 to 3.12.3 (#13934) * FIX: Remove 'reply above line' marker (#13927) * FEATURE: Attach backup log as upload (#13849) * FIX: Consistently show history modal when clicking edit notifications (#13912) * FIX: Inline secure images with duplicated names (#13926) * DEV: Disable PATCH requests (#13928) * DEV: Document some of the badge api endpoints (#13919) * UX: Ensure external login icons are visible on hover (#13914) * DEV: Move composer-editor upload functions into mixin (#13923) * DEV: don't merge email address if target user is not human. (#13915) * Build(deps): Bump nokogiri from 1.11.7 to 1.12.0 (#13920) * Build(deps): Bump bootsnap from 1.7.6 to 1.7.7 (#13921) * Build(deps): Bump globalid from 0.5.1 to 0.5.2 (#13922) * FIX: Adjust poll buttons (#13924) * UX: UX Fixes (#13918) * FIX: Use reply-to address for incoming emails if present (#13896) * FIX: Upload placeholder was missing line break (#13917) * FEATURE: Add post edits count to user activity (#13495) * UX: adds hover title with full date to admin users columns (#13913) * FIX: Make search work with sub-sub-categories (#13901) * FEATURE: New and Unread messages for user personal messages. (#13603) * FIX: do not show private group flair on user avatars (#13872) * Build(deps): Bump faraday from 1.5.1 to 1.6.0 (#13908) * Build(deps): Bump loofah from 2.10.0 to 2.11.0 (#13909) * UX: History controls should use nav-pill styles (#13904) * FIX: Better composer placeholder handling during media optimization (#13907) * Update .ruby-version.sample * FIX: Validate value of custom dropdown user fields - dropdowns and multiple selects (#13890) * FEATURE: Onebox can match engines based on the content_type (#13876) * DEV: don't swallow a promise from group.findMembers method and switch to using async/await (#13888) * DEV: Clear all `navItem` information between tests (#13903) * DEV: Add `GeoList2-ASN.mmdb` and `.bundle` to `.gitignore` (#13902) * UX: Improve copy when a group member search returns no results (#13899) * Update translations (#13898) * FIX: Remapping of uploads could fail during restore of backup (#13897) * FIX: Do not offer to save draft if invalid (#13863) * Revert "DEV: Move private message topic tracking state publish into sidekiq." * DEV: Bump client side plugin-api version. * DEV: Remove ember export which has long been deprecated. * Build(deps): Bump puma from 5.3.2 to 5.4.0 * DEV: Document anonymize user api endpoint (#13893) * re-show excerpts on bookmark page (#13892) * UX: use share modal in dominating topic msg (#13837) * FIX: Typu in intercept-click (#13889) * DEV: Plugin API to add card listener elements (#13887) * UX: User bookmark page style adjustments (#13869) * UX: Update styling of readonly values in signup form (#13886) * FIX: Update draft count after creating a post (#13884) * FIX: Add users-directory-controls outlet to mobile template (#13883) * FIX: allows authentication data to be present in bootstrap (#13885) * FIX: Avoid creating a post revision when topic tags have not changed. (#13881) * DEV: Remove incorrect method descriptions * DEV: Move private message topic tracking state publish into sidekiq. * FIX: PM tags route should work for usernames with a period. * Build(deps): Bump redis from 4.3.1 to 4.4.0 * Revert "DEV: suppress assets logs from qunit tests (#13871)" * FIX: Reduce input of to_tsvector to follow limits (#13806) * DEV: resets user search cache between tests (#13873) * DEV: Avoid duplication of gems in gemfile. * DEV: suppress assets logs from qunit tests (#13871) * DEV: remove calls to guardian from GroupActionLogger (#13835) * FIX: User can change name when auth_overrides_name is enabled. * UX: Remove theme-specific css, fix space * FIX: Remove additional setting check for uppy-upload (#13867) * Build(deps): Bump globalid from 0.4.2 to 0.5.1 (#13866) * Build(deps): Bump css_parser from 1.9.0 to 1.10.0 (#13865) * FEATURE: Initial implementation of direct S3 uploads with uppy and stubs (#13787) * FIX: Changing the post owner didn't update the `reply_to_user_id` of replies (#13862) * use more appropriate labels for chinese UI option * Update translations (#13860) * DEV: prevents badges tests to log 404 (#13859) * DEV: referencing global exists is deprecated (#13857) * DEV: avoids using document.write (#13858) * DEV: adds grinning_face_with_smiling_eyes.png to google-classic (#13856) * FEATURE: Show draft count in user menu and activity (#13812) * DEV: ensures tree is present for traverseCustomWidgets (#13855) * FIX: Don't grant sharing badges to users who don't exist (#13851) * DEV: Fix flaky topics invite spec due to id collision. * DEV: Fix flaky instagram onebox spec by not mutating constant. * fix badge wrapping on user summary * Build(deps): Bump bootsnap from 1.7.5 to 1.7.6 * DEV: Add new after-create-topic-button plugin outlet (#13848) * FIX: use correct URL in schema markup for post images. (#13847) * DEV: Fix stylesheet manager flaky spec (#13846) * DEV: Remove flaky topic_view_serializer spec (#13845) * FIX: do not raise exception when svg path is nil (#13844) * FIX: Show Uncategorized when unsubscribing (#13832) * FIX: Clear `Site#categories` cache when git sha changes. * DEV: Remove depreciation warning in `user-topics-lists` controller. * DEV: Remove unncessary fabrication in tests. * FIX: Don't show the Tis Weekend option in date pickers on Sundays * FIX: Don't show the Later This Week option in date pickers on Sundays * DEV: update doc as current would raise * Build(deps): Bump oj from 3.12.1 to 3.12.2 * Build(deps): Bump rubocop from 1.18.3 to 1.18.4 (#13843) * Add min-width rule to fix header display issues on the Android Gmail app (#13827) * DEV: Return 400 instead of 500 for invalid top period (#13828) * DEV: add more tests for future-date-input-selector (#13836) * FIX: Better and more secure validation of periods for TopicQuery * UX: prioritize moderator bg color in PMs (#13833) * FIX: Show bulk button on PMs for all users (#13801) * Version bump to v2.7.7 * FIX: Long poll if window becomes active (#13825) * DEV: Make rubocop happy. * SECURITY: Don't leak user of previous whisper post when deleting a topic. * SECURITY: Do not reveal post whisperer in personal messages. * DEV: Make rubocop happy. * SECURITY: Don't leak user of previous whisper post when deleting a topic. * SECURITY: Do not reveal post whisperer in personal messages. * DEV: Export pretty text function for plugin use (#13826) * Version bump to v2.8.0.beta4 (#13824) * DEV: extract leave_group method from the group#remove_member method (#13823) * FIX: Ensure browser history contains correct URLs (#13367) * FIX: update the list of users after user joined group (#13822) * FIX: Validate email_accent_bg_color color (#13778) * Update translations (#13821) * FIX: MyBB importer exposes deleted posts (#13700) * DEV: extract join_group method from groups#add_members method (#13807) * SECURITY: Validate period param for top topic routes (#13818) * DEV: Add default `Accept-Language` to FinalDestination requests (#13817) * Build(deps-dev): Bump listen from 3.5.1 to 3.6.0 * FIX: manually adds frowning_face_with_open_mouth for apple (#13528) * FIX: Don't proxy `/qunit` URL when using Ember CLI * UX: Improve quick search suggestions (#13813) * FIX: Force timeline/progress to re-insert into DOM on topic change * need to check if currentUser exists (#13814) * Fixed a typo in the 'same_site_cookies' site setting description (#13809) * FEATURE: New style for personal messages (#13800) * DEV: removes unused version_bump script (#13811) * FIX: Show user filter hints when typing `@` in search (#13799) * FIX: allows to use icon-picker in wizard (#13786) * FIX: Allow only groups with flairs to be selected (#13744) * FIX: Consider 100 years suspension as permanent (instead of 500-years suspension) (#13808) * DEV: uses main instead of master in version_bump script (#13805) * Update translations (#13796) * FIX: display warning when SSO email is different from invite email (#13804) * FEATURE: Per-category default slow mode duration for topics. * DEV: Spec shouldn't depend on translation * DEV: Improve logging of errors in `Jobs::ProcessUserNotificationSchedules` * DEV: Fix release_note task warnings (#13794) * UX: New text and style for dominating topic message (#13789) * FIX: User directory - correct variable names (#13798) * DEV: ignore the 2FA table when moving timestamps (#13793) * UX: suspend forever time period messages (#13776) * UX: Tweak groups page css (#13775) * FIX: Serialize flair group ID for preferences page (#13741) * DEV: uses main branch in lefthooks (#13792) * DEV: allow `dev:populate` rake task in production environment. (#13777) * FEATURE: Add input name so 1password ignores input (#13790) * upload_creator: force ImageMagick to use internal SVG code to determine size * FIX: Change email from to not have via site_name for group SMTP (#13788) * FIX: Toggle search menu when click the same button (#13781) * Update class name to avoid ad blocker (#13785) * DEV: Add chat_mention notification type (#13784) * DEV: fix test (missed a reference to master) * discourse/discourse change from 'master' to 'main': update fixture data * discourse/discourse change from 'master' to 'main' * FIX: Remove hardcoded value when displaying incoming messages count. (#13774) * FEATURE: Add new plugin API to allow plugins to extend `Site#categories` (#13773) * UX: consistent share modal & popup, refactoring (#13759) * FEATURE: Add filter box to the themes/components list (#13767) * DEV: Don't use chunked encoding in development mode (#13768) * Fix i18n issues reported on Crowdin (#13769) * FIX: Alignment of user badges in user card (#13770) * Build(deps): Bump ruby2_keywords from 0.0.4 to 0.0.5 (#13771) * Build(deps): Bump excon from 0.84.0 to 0.85.0 (#13772) * FIX: don't allow category and tag tracking settings on staged users (#13688) * FEATURE: Stop checking referer for embeds (#13756) * FEATURE: Enable client-side image optimization by default (#13724) * FIX: Media optimization setting was misnamed (#13766) * DEV: add pick-files-button component (#13764) * FIX: Disable the post submit button during image processing properly (#13765) * FIX: Clear stale status of reloaded reviewables (#13750) * DEV: Plugin outlet in topic-status component (#13763) * FIX: Use correct setting for DiscourseConnect card background overrides * DEV: Update discourse_connect_overrides_ setting copy * FEATURE: Add assistant to quick search widget (#13650) * PERF: Add scheduled job to delete old stylesheet cache rows (#13747) * FIX: Ascending/descending sorting in the group membership requests page * FIX: when updating timestamps on topic set a correct bump date (#13746) * DEV: Refactor stylesheet live-reloading (#13755) * FIX: simplify and improve choosing favorite badges (#13743) * FEATURE: Add 'users.list' API scope (#13742) * FIX: Debounce group name validation correctly (#13757) * changed private message -> personal message (#13753) * updated copy for reply_as_new_group_message (#13754) * FIX: User's "Top badges" grid (#13752) * Version bump to v2.8.0.beta3 (#13703) * Version bump to v2.7.6 * SECURITY: Sanitize YouTube Onebox data (stable) (#13749) * SECURITY: Sanitize YouTube Onebox data (#13748) * DEV: Remove stylesheet controller non-prod code (#13745) * FIX: Add order to outputted stylesheet link tags (#13735) * FEATURE: update existing users when group default notifications changed. (#13434) * DEV: pass more arguments to before-create-topic-button (#13740) * DEV: return populated data at the end of the method. (#13739) * FIX: problems with choosing favorite badges (#13731) * DEV: Improve rake `release_note:generate` date handling (#13726) * DEV: trigger new discourse events `after_create_dev_record` & `after_populate_dev_records`. (#13733) * FEATURE: Add option to grant badge multiple times to users using Bulk Award (#13571) * UX: stop imgur/google photo mobile onebox overflow (#13738) * Build(deps): Bump rubocop-ast from 1.7.0 to 1.8.0 (#13737) * FIX: Assets for the theme tests page are not compressed (#13736) * FIX: Issues with custom icons in themes (#13732) * FIX: Remove button to dismiss theme error messages (#13734) * DEV: Bump `discourse_dev_assets` to 0.0.3. (#13730) * FIX: `user/badges` grid fix (#13729) * FIX: A memoization bug in UserLookup and refactor (#13692) * DEV: Update `i18n:check` rake task to detect invalid Markdown links (#13728) * FIX: Use array to keep best link for each onebox (#13717) * FIX: Use Terser for minification even if uglify-js is not available (#13683) * A11Y: Add labels where needed (#13686) * UX: Make sure there's always a margin on badges page (#13693) * FIX: Don't try to load badges if there none left (#13695) * FIX: Email threads sometimes not grouping for group SMTP (#13727) * FIX: Use rem for font sizes in post headings (#13720) * DEV: Make badges grid a `grid` (#13719) * FIX: Don’t use `user_generated` images as avatar images in Oneboxed Twitter content (#13712) * Update translations (#13647) * FIX: Don't downcase "all groups" in dropdown * FIX: Allow uppercase letters in automatic group names * FIX: Do not show invalid option in flair chooser (#13725) * DEV: App event when modal is closed (#13722) * FEATURE: Setting to allow moderators to change post ownership (#13708) * Build(deps): Bump faraday-net_http_persistent from 1.1.0 to 1.2.0 * DEV: fix joining in the script for moving timestamps (#13721) * PERF: Improve topic_user.liked update performance when moving posts * PERF: Improve post_timing performance when moving posts * FIX: Set user flair group to primary group (#13718) * FIX: Various translation string fixes (#13715) * DEV: ignore some tables when updating timestamps using db_timestamps_mover.rb (#13714) * FEATURE: Uppy image uploader with UppyUploadMixin (#13656) * UX: Improve share modal consistency (#13689) * UX: Move the skip auth confirmation spinner inside the modal body. (#13710) * FIX: Suggest current username for staged users (#13706) * FIX: admin_user_response schema (#13711) * DEV: Update release notes output format, and add plugin task (#13709) * DEV: DiscourseEvent for category updated (#13707) * FEATURE: Penalty history improvements (#13359) * UX: Add copy button to theme public key (#13690) * FIX: Use created_at if last_posted_at is null (#13668) * FIX: Show correct dates in topic timelines (#13670) * FEATURE: add title tag for group detail page (#13702) * UX: improve the link to the preferences page on the new and unread tabs (#13701) * FIX: Scroll to top on badge pages (#13694) * UX: Add success state to copy button (#13691) * Build(deps): Bump rake from 13.0.5 to 13.0.6 (#13696) * Build(deps): Bump oj from 3.12.0 to 3.12.1 (#13698) * Build(deps-dev): Bump shoulda-matchers from 4.5.1 to 5.0.0 (#13699) * Build(deps): Bump faraday from 1.5.0 to 1.5.1 (#13697) * FIX: Let staged users choose their username (#13678) * UX: Fix z-index for new topic alert (#13676) * DEV: Report message-id, skip reason in rake email:test (#13674) * FIX: Switch logos live when changing color schemes in user prefs (#13684) * DEV: add a script for moving timestamps in database (#13682) * FIX: Various translation string fixes (#13681) * UX: Translate the action type in watched words regex error (#13680) * DEV: Add `users-directory-controls` outlet (#13679) * DEV: Drop uploads verified column (#13677) * FIX: Let user clear their flair group (#13669) * FIX: can_admin_group should be true when creating a new group. (#13671) * Build(deps): Bump parser from 3.0.1.1 to 3.0.2.0 (#13672) * Build(deps): Bump rake from 13.0.4 to 13.0.5 (#13673) * FIX: Handle storage providers not implementing ACLs (#13675) * FIX: Do not interpret backreferences in email content * DEV: Commit failing test for email substution bug * Version bump to v2.7.5 * FIX: Do not wrap flair title in chooser (#13667) * FEATURE: Let users select flair (#13587) * FIX: Do not prevent other topic timers running on error (#13665) * Build(deps): Bump excon from 0.83.0 to 0.84.0 (#13664) * DEV: Remove super old code comment TODO (#13663) * DEV: Isolate multisite specs (#13634) * FIX: Check type of existing reviewables when new reviewable is created (#13662) * FEATURE: Make invites work with existing users (#13532) * FIX: fix error message for fix_missing_s3 rake task (#13661) * FIX: Set CSP base-uri to `self` (#13654) * FIX: `fix_missing_s3` task fails on failed upload (take 2) (#13660) * FIX: do not stop `fix_missing_s3` task if saving an upload failed (#13658) * DEV: Expire `cn` cookie at end of session (#13659) * DEV: Do not skip pages when loading polls (#13649) * DEV: Remove `fsl` cookie from specs (#13657) * Build(deps): Bump addressable from 2.7.0 to 2.8.0 (#13625) * SECURITY: do not follow canonical links * UX: Layout issues with topic last visit line. (#13655) * Build(deps): Bump oj from 3.11.8 to 3.12.0 (#13651) * DEV: Add uppy.js to build and project (#13645) * Build(deps): Bump rubocop from 1.18.2 to 1.18.3 (#13653) * Build(deps): Bump rake from 13.0.3 to 13.0.4 (#13652) * DEV: An endpoint to check if the current user voted in a poll. (#13648) * DEV: Compile core and plugin stylesheets independently of themes (#13638) * FIX: Maintain order when updating notifications (#13643) * FEATURE: add period filter in top topics route for tags. (#13415) * FEATURE: Warn if invited user cannot see topic (#13548) * DEV: Drop user_options.disable_jump_reply column (#13646) * FIX: TL4 users cannot delete others posts (#13554) * DEV: Update core model annotations * DEV: Add `annotate` rake tasks, and enforce via GitHub actions * FIX: Handle SMTPServerBusy for group smtp email (#13632) * FIX: Multiply ratelimiter leniency for own discobot certs (#13639) * UX: Remove background image after image has loaded (#13642) * Build(deps): Bump rubyzip from 2.3.1 to 2.3.2 (#13644) * DEV: Remove duplicate `filterable` option in tag-drop (#13640) * DEV: Update yarn.lock (#13637) * DEV: Allow annotations to work in symlinked plugins, add binstub (#13635) * FIX: Poll wasn't showing all voters (#13620) * UX: Remove top border on small action after last visit line. (#13633) * FEATURE: Add last visit indication to topic view page. (#13471) * FIX: Handle edge cases for group SMTP email job (#13631) * DEV: Remove `User` class methods that have been deprecated. (#13612) * UX: Use topic list bulk select toggle for user messages list. (#13614) * FIX: Respect personal_email_time_window_seconds in group SMTP (#13630) * Build(deps): Bump oj from 3.11.7 to 3.11.8 (#13629) * Build(deps): Bump image_size from 2.1.0 to 2.1.1 (#13628) * Build(deps): Bump rubocop from 1.18.1 to 1.18.2 (#13627) * Build(deps): Bump rubyzip from 2.3.0 to 2.3.1 (#13626) * Build(deps): Bump faraday from 1.4.3 to 1.5.0 (#13624) * FIX: Build quote share URL using post number, not post ID (#13622) * FIX: Load the category when the category_id attr is present. (#13621) * Skip compressing theme test files (#13619) * DEV: Tests can reset a single registry (#13618) * DEV: Bump Logster and use full hostnames (#13617) * FIX: Do not reload whole directory table on username input change (#13616) * DEV: Add theme-color meta to bootstrap (#13615) * FIX: Invalid link definition in bootstrap-json * Build(deps): Bump rqrcode_core from 1.0.0 to 1.1.0 (#13610) * FIX: update locale keys for watched word logs (#13613) * FIX: Delete old reminder topic timers (#13611) * DEV: Prefer .pluck_first over .pluck.first (#13607) * FIX: Show empty search results sets (#13604) * FIX: Make non-transactional migration idempotent (#13608) * FEATURE: Reencoding is safe, trigger it on files > 500Kb (#13606) * SECURITY: Onebox canonical links bypassing FinalDestination checks (#13605) * FEATURE: pass supported file extensions to the system file picker (#13583) * DEV: Pass the cookie jar to the :after_auth event (#13591) * FIX: Set class on color scheme links in bootstrap (#13594) * FIX: Reorder and hide topic timer options (#13597) * DEV: Try fix flaky topic view serializer spec (#13601) * DEV: Incorrect name in precompile output. (#13602) * DEV: Remove broken associations on `Invite` model. (#13600) * DEV: Try fix keyboard shortcut acceptance tests (#13576) * FIX: Child themes being precompiled multiple times take 2. (#13599) * FIX: Rename ninja edit terminology to grace period (#13598) * Build(deps): Bump rubocop from 1.18.0 to 1.18.1 (#13596) * FIX: Detect decode failures earlier in image optimization pipeline (#13595) * FIX: Detect resize failures in the client size image optimization (#13589) * FIX: Don’t translate TrustLevel name when generating links (#13588) * UX: Make emoji size consistent for oneboxed GH issues with short tags. (#13586) * FIX: typo in discourse * FIX: Reintroduce add group user by email (#13581) * DEV: Fix a flaky test (#13580) * FIX: do not close the merged topic if the first post wasn't merged (#13564) * DEV: Revert stylesheet refactors (#13584) * FIX: Clear appropriate cache when updating font settings (#13582) * FIX: TL4 users cannot delete others posts (#13554) * FIX: Do not redirect to a topic user cannot see (#13550) * DEV: Improve output of `Stylesheet::Mananger.precompile_theme_css`. * FEATURE: use native file picker in composer (#13552) * FIX: ignore canonical link to localhost (#13577) * FIX: Child themes being precompiled multiple times. * FIX: problem when [] custom field is send (#13573) * FEATURE: add staff action logs for watched words (#13574) * Update spec/components/stylesheet/manager_spec.rb * Refactor scss live refreshing * Precompile core stylesheets independently of themes * DEV: Add simple digest for core stylesheets * FIX: Always render topic counts (#13563) * UX: make poll content selectable (#13529) * FIX: Use absolute URL when redirecting SVG sprite path. * Build(deps): Bump rubocop from 1.17.0 to 1.18.0 * FIX: ensures we don't apply charts options to other modes (#13570) * FIX: Include user_field_ids in pagination URL for directory items (#13569) * FIX: Some admin reports (notably backups) were not showing up * FIX: Do not call 'set' in destroyed directory table component (#13567) * DEV: Don't use the Ember global (#13535) * FIX: Get all groups for user directory dropdown (#13566) * Update translations (#13565) * FEATURE: add multiselect user custom field (#13560) * FIX: flaky search-spec * DEV: Fix a leaky test (#13559) * DEV: Drop duration column from topic timers (#13543) * FIX: Remove legacy topic timer code (#13544) * Build(deps): Bump excon from 0.82.0 to 0.83.0 (#13558) * UX: Tweak spacing in the admin dashboard (#13557) * UX: Adds 'Processing Upload' to the composer status area during upload optimization (#13556) * FIX: Handle image decoding failure in composer image optimization (#13555) * UX: Horizontal scroll bar on top of user directory (when needed) (#13553) * FEATURE: add slow_mode_prevents_editing setting.. * UX: Tweak the timestamp line in Twitter onebox (#13551) * FIX: Remove extra margin from share topic modal (#13549) * FIX: only delete the word/phrase when the 'x' icon is clicked (#13547) * FIX: topic level bookmark button (#13530) * DEV: Don't eager load tags when tagging is not enabled. * PERF: optimise backfilling of topic_id (#13545) * DEV: Remove old group form code (#13542) * FIX: Do not show In Reply To for group SMTP emails (#13541) * DEV: Remove unused attributes from topic-tracking-state. * FIX: Missing category edit icon. * FIX: Improve participant display in group SMTP emails (#13539) * FEATURE: Use group SMTP job and mailer instead of UserNotifications change (#13489) * Build(deps-dev): Bump mocha from 1.12.0 to 1.13.0 (#13538) * FIX: Backfill topic_id for EmailLog (#13469) * UX: Improve blockquote styling in emails (#13527) * FEATURE: Render emojis on GitHub labels when oneboxing an issue. (#13531) * DEV: Rename `hilight` to `highlight` (#13526) * FIX: Nil-filled CF arrays were not being deleted (#13518) * UX: Add notice when watched words are regexes (#13493) * DEV: Update aws-sdk-s3 gem for S3 multipart uploads (#13523) * UX: margin improvement for mobile alerts * DEV: Clean up state leak in `Site` tests. * Build(deps): Bump faraday from 1.4.2 to 1.4.3 * Remove unused strings * Fix spelling in `discourse_narrative_bot.new_user_narrative.flag.instructions` * UX: Make bulk select checkbox easier to target (#13517) * FIX: Translation of plugin directory column on mobile (#13516) * FIX: follow redirects for inline/mini onebox (#13512) * DEV: Allow plugin tests to run in Ember CLI qunit * FEATURE: Staff can receive pending user reminders more frequently. (#13422) * DEV: Update script/promote_migrations (#13513) * FEATURE: Accept the flag modal on CTRL + ENTER and CMD + ENTER (#13497) * DEV: adds support for bannered until (#13417) * PERF: Cache categories in Site model take 3. * Build(deps-dev): Bump test-prof from 1.0.5 to 1.0.6 (#13511) * DEV: Improve `script/downsize_uploads.rb` (#13508) * FIX: Always serialize the correct attributes for DirectoryItems (#13510) * UX: Fix mobile alert spacing (#13506) * UX: Make it easier to hide the emoji on signup (#13509) * FIX: increase max favorite badges to 6 (#13507) * FIX: Table header translations on admin users list (#13505) * UX: Hide email columns when `Hide Emails` is selected (#13502) * FIX: Manually update DirectoryItemSerializer attributes on directory column change (#13503) * DEV: Promote historic post_deploy migrations * DEV: Introduce script/promote_migrations tool * FIX: Check all migrations for dropped columns/tables during restore * UX: improve lightbox gallery zoom/navigation (#13500) * PERF: Remove n+1 in user directory (#13501) * FEATURE: Optimize images before upload (#13432) * FIX: Load more users URL respect group param (#13485) * DEV: Rename emoji icon (#13499) * FEATURE: Split Add Members into Add Users & Invite (#13482) * DEV: Do not add proxy argument when running ember-cli test (#13498) * DEV: Add a way to exclude ENV vars from getting unset in `themes:isolated_test` (#13494) * FIX: Make favorite work with multiple grant badges (#13492) * DEV: Introduce `TemporaryRedis` and unset `DISCOURSE_*` env vars in the `themes:isolated_test` rake task (#13401) * DEV: Fix failing directory-columns ember CLI tests (#13490) * DEV: Remove a perf fix that's no longer needed * Build(deps): Bump oj from 3.11.6 to 3.11.7 * FIX: Ignore missing uploads in theme settings (#13486) * FIX: Absolute path for directory-columns.json (#13488) * DEV: Refactor custom svg icon caching (#13483) * DEV: Plugin API to add directory columns (#13440) * DEV: Do not re-throw in popupAjaxError (#13462) * FEATURE: Make max number of favorite configurable (#13480) * SECURITY: prevents onebox to hang too long on connect (#13481) * FIX: Ignore posts needing approval when calculating reviewable counts. (#13464) * DEV: Promote old post-deploy migrations to pre-deploy migrations (#13477) * FIX: `fix_missing_s3` rake task could fail due to missing upload (#13479) * DEV: Remove leftover reference to intersection-observer (#13478) * DEV: Remove IntersectionObserver polyfill (#13445) * Update translations (#13476) * FIX: ShrinkUploadedImage was broken since cb12a721 (#13474) * FIX: ensures average is applied on last incomplete segment (#13472) * Fix i18n issues reported on Crowdin (#13191) * FIX: Set random values for digest_attempted_at * DEV: Fix a flaky/leaky test * FIX: Previewing theme components broken when component has no SCSS. * FIX: Remove duplicate add_unsubscribe_link hash key (#13467) * DEV: Try fix flaky dismiss keyboard specs (#13452) * FEATURE: Add more columns to outbound EmailLog (#13449) * DEV: Add missing import, de-jQuerify (#13461) * Revert "PERF: Cache categories in Site model take 2." * FEATURE: Improvement to history stack handling on server errors * FIX: Render detailed_404 page from 403 responses * PERF: Update post uploads secure status in a job (#13459) * FIX: Show link count only once for oneboxes (#13444) * FIX: TL4 users can see their deleted posts (#13364) * SECURITY: ensures timeouts are correctly used on connect (#13455) * DEV: Change method used to reference custom font assets (#13446) * FIX: Downsize image last when saving uploads (#13458) * DEV: Fix broken stylesheet watcher. * FIX: correctly implements average for reports (#13447) * FIX: Multiple links being generated for non-theme targets. * FIX: Color scheme stylesheet not loaded when no default theme is set. * DEV: Move chrome binary check into a shared lib (#13451) * Code review comments. * PERF: Eager load Theme associations in Stylesheet Manager. * DEV: Replace const munging in specs with stub_const helper * PERF: Cache categories in Site model take 2. * FIX: Prevent resurrecting old topics via email reply for group inboxes with SMTP enabled (#13382) * FIX: Remove List-Unsubscribe header if using group SMTP (#13448) * UX: Fix jump-to-post layout on mobile (#13443) * UX: Fix mobile progress bar button alignment (#13442) * UX: daily automatic grouping for less than 34 days instead of 30 (#13437) * FIX: Do not display twice a user who changed vote (#13284) * FIX: Do not check for duplicate links in Onebox (#13345) * FIX: Add word boundaries to replace and tag watched words (#13405) * FEATURE: An API key scope for editing posts. (#13441) * UX: Use button instead of anchor in filtered replies bar (#13439) * FIX: Update post's raw from server response (#13438) * FEATURE: Use responsive image sizes in post stream (#13343) * FIX: Mobile layout for watched words admin UI (#13427) * FIX: ensures validValues is an array (#13435) * DEV: removes maximum limit on tag list site setting (#13436) * REFACTOR: removes unused code (#13412) * Update lib/site_settings/type_supervisor.rb * DEV: improve error message for invalid setting’s value * FIX: Do not add mailing list headers to group SMTP emails (#13431) * FIX: Dismiss new keyboard shortcut not working (#13430) * FIX: Drop and recreate column properly for directory_columns (#13429) * FIX: Use correct property for jump-up embedded post link (#13425) * FIX: Allow SVG uploads if dimensions are a fraction of a unit (#13409) * FIX: Broken DB issue following a reverted migration (#13426) * FIX: Adding multiple auto tags in watched words admin UI (#13421) * DEV: Revert 3 commits for plugin API to add directory columns (#13423) * DEV: Add optional theme test step to the `smoke:test` rake task (#13418) * DEV: reset plugin added directory columns in testing (#13420) * FIX: translations of table headers in group members directory * FEATURE: Open the edit bookmark modal when clicking on the topic level bookmark button (#13407) * DEV: Plugin API to allow creation of directory columns with item query (#13402) * FIX: Update post's raw from server response (#13414) * FIX: prevents mode to be forced to unexisting mode (#13413) * FIX: Resend only pending invites (#13403) * FIX: Destroy invites of anonymized emails (#13404) * Revert "PERF: Cache categories in Site model." * FIX: ensure we dont collapse data multiple times (#13399) * PERF: Cache categories in Site model. * Build(deps): Bump rubocop from 1.16.1 to 1.17.0 * FIX: Move allow_unknown_sender_topic_replies outside SMTP/IMAP box (#13410) * Build(deps): Bump ffi from 1.15.1 to 1.15.3 * FEATURE: Add last updated details to SMTP/IMAP group settings UI (#13396) * FIX: Make sure reset-new for tracked is not limited by per_page count (#13395) * FIX: Ember CLI was losing some preloaded data (#13406) * FIX: Sort filelists to ensure consistant asset precompilation hash (#13393) * FIX: The topic level bookmark button stops working if choose ‘No’ on the clearing all bookmarks confirmation modal (#13374) * FIX: Make avatar-flair component fail gracefully group info missing (#13398) * FEATURE: Upload to s3 in parallel to speed up backup restores (#13391) * FIX: Skip failing tests for composer (#13394) * FIX: Update raw and cooked immediate after edit (#13387) * FIX: Make sure topic_user.bookmarked is synced in more places (#13383) * FEATURE: Blocking is optional when deleting a user from the review queue. (#13375) * DEV: Skip CSS watcher when running QUnit tests and expose more Chrome logs (#13390) * DEV: Don't user before(:all)/after(:all) (#13389) * Update translations (#13388) * DEV: fix Flarum import script (#13385) * FIX: Validate upload is still valid after calling the "before_upload_creation" event (#13091) * FEATURE: make date pickers in the bookmarks UI and topic timer UI consistent with all other pickers (#13365) * DEV: skips three tests following cc1e73 (#13386) * FIX: respect nofollow exclusion setting in topic featured links. (#11858) * FIX: refresh post stream after in-place post updates (#13384) * DEV: Add plugin API to extend search results (#12966) * UX: Remove reference to contact form in setting (#13380) * FIX: Some absolute links were causing full page reloads (#13377) * DEV: Add SMTP group ID to EmailLog (#13381) * PERF: Remove extra PG query. * Build(deps): Bump oj from 3.11.5 to 3.11.6 * FIX: Show group Email settings if just SMTP enabled (#13362) * FEATURE: Add a messages view for all official warnings of a user (#12659) * FIX: Adjust styling of first notification (#13366) * Build(deps): Bump redis from 4.2.5 to 4.3.1 (#13373) * FEATURE: Add type=website OpenGraph meta tag (#13376) * FIX: De-prioritize composer category on navigation (#13372) * DEV: Work around a Docker issue (#13368) * DEV: Fix `sh: /bin/rm: Argument list too long` (#13371) * DEV: move `discourse_dev` gem to the core. (#13360) * FIX: Do not render user-avatar-flair element when user has no flair (#13369) * FIX: flaky javascript tests with fake timers (#13235) * UX: improve user delete error message & return correct post count. (#13282) * DEV: Remove test that is no longer providing value. * FIX: Clicking on a URL with a different url prefix did not work (#13349) * FIX: Do not reload post if raw is present (#13335) * PERF: Perform user filtering in SQL (#13358) * DEV: Increase number of mini-profiler traces in development. * FIX: can't bootstrap with ember-cli when login_required is enabled (#13350) * FIX: Link up reply to post correctly when emailing group (#13339) * A11Y: Adjust heading rules on topic lists (#13353) * FEATURE: Add upgrade-insecure-requests to CSP when force_https is enabled (#13348) * PERF: Avoid running a pointless PG query when theme has no variables. (#13342) * Build(deps): Bump rubocop-rspec from 2.3.0 to 2.4.0 (#13351) * Build(deps): Bump rubocop from 1.16.0 to 1.16.1 (#13352) * Version bump to v2.7.4 * DEV: Add support for class properties in babel (#13189) * DEV: Enable optional chaining in all contexts (#13180) * FIX: `count` is not defined lint error (#13347) * A11Y: Don't mark multiple form labels as applying to the same element (#13289) * FIX: Lots of plugin tests were using old, non-Ember compat CLI APIs (#13320) * DEV: Set DISCOURSE_PORT when spawning unicorn via `ember-cli -u` (#13346) * PERF: Animate request animation frame (#13337) * DEV: bin/ember-cli standalone by default (#13344) * FIX: Do not block SVG sprite bundle if a file is missing (#13338) * UX: Improvements for reordering categories (#13013) * DEV: ensure user export ordering is predictable (#13340) * DEV: ember-cli -u can be used to run a standalone dev discourse (#13336) * FIX: Theme tests should work in production (#13333) * DEV: Refactor user_badge select_for_grouping scope (#13334) * FEATURE: Add group filter to user directory (#13330) * FIX: errors loading secure uploads when secure uploads is disabled (#13047) * UX: add a hint that tags can be included in tag groups (#13326) * DEV: Clean up QUnit tests (#13328) * DEV: Allow `transformed` values to be used in all widget hbs statements (#13331) * Version bump to v2.7.3 * Version bump to v2.8.0.beta2 (#13329) * Update translations (#13327) * DEV: Add manifest-src to CSP (#13319) * FEATURE: Don't show the draft checkmark when drafts are saved (#13292) * FIX: Hide image resize controls in staged edit content (#13313) * DEV: Remove suppression of popupAjaxError if isTesting (#13325) * PERF: Preload client settings json while booting app. (#13283) * PERF: Switch ActiveRecord PG connection active check to use empty query. (#13323) * DEV: Fix flaky test due to locale cache poisoning * DEV: Fix another flaky spec * FIX: Search menu regression (#13321) * DEV: Clean up the spec * DEV: Fix spec filename typo * DEV: Run `turbo_rspec` in the verbose mode on CI * Update menu swipe (#13277) * UX: Fix search topic titles wrapping (#13315) * DEV: Allow plugins to extend frame-ancestors (#13316) * FIX: Handle timeout errors when sending push notifications (#13312) * UX: Fix bulk-select icon and button alignment (#13299) * DEV: Fix a flaky Onceoff spec (#13314) * FEATURE: Add user custom fields to user directory (#13238) * UX: group dropdown filter height should match (#13300) * UX: more consistent mobile spacing (#13297) * FIX: Quoting Oneboxed content should exclude formatting (#13296) * FIX: Allow invites if must_approve_users is true (#13257) * FEATURE: enable tagging by default (#13175) * SECURITY: XSS in bookmarks list (#13311) * SECURITY: XSS in bookmarks list (#13311) * DEV: Do not always include software update HTML in DOM (#13291) * FIX: IMDb links were being oneboxed as posters (#13310) * UX: Improve tag truncation in scrolled header * PERF: Preload `Post#image_upload` in `TopicView`. * FIX: Do not enqueue :group_smtp_email job if IMAP disabled for the group (#13307) * DEV: Fix an `ActiveModel::Errors` deprecation * DEV: Bump rubocop-discourse to 2.4.2. * Build(deps): Bump concurrent-ruby from 1.1.8 to 1.1.9 * Build(deps): Bump loofah from 2.9.1 to 2.10.0 (#13305) * FIX: Size of emoji in poll options (#13294) * FIX: Use newly created PushSubscription object for push test message (#13293) * FIX: Allow any other tag to be a synonym (#13290) * A11Y: Improve topic details toggle button label (#13287) * A11Y: Add aria-label to modal close button (#13288) * A11Y: Include aria-label for avatar images in widgets (#13286) * Version bump to v2.7.2 * DEV: Move pretty-text into vendor and use that (#13273) * UX: unconditionally focus modals (#13179) * UX: Add auto focus to hamburger and user menu dropdowns (#13165) * FIX: Make poll options tabbable (#13159) * UX: Improve navigation on topic lists for screen readers (#13153) * UX: provide a region for various topic actions (#13152) * FIX: Better focus support for modals (#13147) * UX: add ARIA region role to posts (#13130) * A11Y: Fix post control and user-menu focus styles (#13118) * Build(deps): Bump nokogiri from 1.11.4 to 1.11.5 (#13107) * UX: Fix theme upload width, remove class clash, prettier (#13071) * Build(deps): Bump nokogiri from 1.11.3 to 1.11.4 (#13074) * UX: Copy edit (#13285) * FIX: Composer doesn't show an error message in case of a network issue and stops updating draft after (#13268) * DEV: Add more verbose logging for image uploads (#13270) * FIX: misspelling in associate_accounts_controller_spec.rb * DEV: Add more keyboard shortcut acceptance tests (#13280) * Build(deps): Bump nokogiri from 1.11.6 to 1.11.7 (#13275) * UX: Revert some search dropdown styles (#13274) * PERF: Defer setting of distributed cache in category. * DEV: Clean up state leak in BootstrapController spec. * FIX: Ensure images in polls don't cause abrupt scrolling (#13272) * FIX: Clear post action types application serializer fragment cache. * DEV: Move Discourse app specific concern out of unicorn conf. * PERF: Defer setting of distributed cache in more spots. * UX: more consistent setting/edit buttons (#13276) * FIX: Return `naturalWidth` and `naturalHeight` for Composer image sizes (#13271) * Version bump to v2.7.1 * SECURITY: Do not allow unauthorized access to category edit UI (#13252) * FIX: Close hyperlink modal on ESC key (#13166) * FIX: Disable lightboxing of animated images (#13099) * UX: Adjustments to tag groups layout (#13269) * FIX: redirect non-staff user to homepage when deleting own topic (#13267) * FEATURE: Add global admin api key rate limiter (#12527) * PERF: Preload settings, groups and badge icons in SvgSprite. * FEATURE: Use group SMTP settings for sending user notification emails (initial) (#13220) * FIX: Escape periods in current user's username before generating `RegExp` (#13247) * UX: Update search panel styles, consistency (#13262) * FEATURE: Censor Oneboxes (#12902) * DEV: Minor code clean up in assets.rake. (#13245) * Revert "FIX: Ignore `allowlistgeneric` Onebox image sizes (#13240)" (#13261) * DEV: Add test for link watched words (#13251) * PERF: Defer setting of distributed cache in performance critical paths. * FIX: Change order of topic_tracking_state SELECT SQL (#13259) * FIX: Dismiss topics keyboard shortcut not working (#13260) * FIX: Ignore `allowlistgeneric` Onebox image sizes (#13240) * FIX: Add check for if element doesnt exist on ensureDropClosed (#13256) * DEV: Remove the remaining Travis code (#13255) * DEV: bundle update fastimage (#13253) * SECURITY: Do not allow unauthorized access to category edit UI (#13252) * FIX: Show required tags to staff by default and override limit (#13242) * FEATURE: Stage post edits immediately (#13249) * FIX: active record annotation of topic model (#13250) * UX: Use icons as bulleted list in invite modal (#13229) * FIX: Do not require trust level to invite to group (#13230) * DEV: Remove emoji_one files (#13236) * FIX: PG::StringDataRightTruncation when linking posts (#13134) * FIX: Moderator actions and small actions shouldn't prevent fully merged topics from closing (#13200) * FIX: Split link watched words from replace (#13196) * PERF: Remove N+1 query in `SiteSerializer#user_color_schemes`. * PERF: Warm up caches in `SiteSerializer` while preloading app. * PERF: Cache categories query in `Stylesheet::Manager.color_scheme_digest`. * DEV: Remove unused comments from tests. (#13241) * DEV: Fix incorrect optimization in SvgSprite take 2. * DEV: Fix incorrect optimization in SvgSprite. * PERF: Memoize core svgs in memory to avoid expensive XML parsing. * Build(deps): Bump rubocop from 1.15.0 to 1.16.0 * DEV: Topic tracking state improvements (#13218) * UX: Fix "last visit" line overlap in Chrome (#13232) * FIX: return an empty result if response from Amazon is missing expected attributes (#13173) * FIX: Don't store translated trust level names in anonymous cache (#13224) * DEV: Remove `ember_jquery` in most situations (#13237) * DEV: Fix a flaky spec (#13234) * FIX: Delete internal links when moderator deletes a post (#13233) * FIX: translation issue on the bookmark modal (#13231) * FIX: Update non-Ember CLI ember-buffered-proxy (#13227) * Update translations (#13228) * DEV: Fix flaky specs (#13226) * DEV: Fix spec (#13225) * UX: fix PM header title alignment (#13223) * DEV: calls user_added_to_group on group/TL enforcement (#13222) * FEATURE: lets users favorite 2 badges to show on user-card (#13151) * FIX: MessageBus would stall after 20 minutes of inactivity (#13219) * DEV: Fix warning about already initialized constants in `FileStore::BaseStore` * DEV: Log env on error when looking up user in message_bus. (#13208) * DEV: Add deprecation notice to site setting description (#13212) * Build(deps): Bump message_bus from 3.3.5 to 3.3.6 (#13215) * Build(deps): Bump mini_portile2 from 2.5.2 to 2.5.3 (#13216) * FEATURE: extend widget-dropdown to accept disabled option (#13020) * FIX: TL4 users cannot unhide posts. (#13211) * FEATURE: Show all categories in composer (#13213) * UX: Fix the PM title icon alignment (#13214) * DEV: add an option in user-chooser to list staged users (#13201) * UX: Align the bulk-select icon (#13210) * DEV: Remove `cache` option from `ajax()` (#13142) * UX: Improve style of GitHub PR body in emails (#13198) * FIX: errors that're triggering by too long excerpts (#13056) * Revert "DEV: Topic tracking state improvements (#12958)" (#13209) * FIX: Maintain notification order by priority (#13186) * FIX: TL2 promotion message from discobot didn't use user locale * DEV: Remove dead code * DEV: Topic tracking state improvements (#12958) * Build(deps): Bump rubocop-ast from 1.6.0 to 1.7.0 (#13205) * Build(deps): Bump mini_portile2 from 2.5.1 to 2.5.2 (#13206) * FIX: Giphy oneboxing when the response is an image (#13199) * UX: Don't show reply prompt if current topic is closed (#13197) * UX: Change color of focus & hover on user menu tabs (#13195) * FEATURE: Automatically timed delete stub topics after entire topic is merged into another topic (#13187) * FIX: Support pausing GIFs for giphy/tenor oneboxes (#13194) * Build(deps): Bump excon from 0.81.0 to 0.82.0 (#13192) * FIX: One-by-off error in topic show action (#13183) * FIX: Do not mark badge image uploads as secure (#13193) * FEATURE: Improve group email settings UI (#13083) * DEV: Add support for class properties in babel (#13189) * FIX: don't update `allow_title` column of existing badges in seed. (#13190) * FEATURE: Enable pausing images from Giphy and Tenor (#13185) * DEV: Stubbing "Rails.env.production?" introduces a lot of flakiness. (#13188) * FEATURE: Show an error message if regex is invalid (#13164) * DEV: Simplify watched word code (#13103) * FEATURE: Silence watched word (#13160) * FEATURE: Use path from existing URL of uploads and optimized images (#13177) * UX: Show grandparent category badge in sticky header on desktop (#13184) * DEV: Enable optional chaining in all contexts (#13180) * Various GitHub Onebox improvements (#13163) * UX: alert screen readers when there is an issue saving a post (#13182) * UX: Twitter onebox layout adjustments (#13181) * DEV: Do not prompt to run `yarn` in dev env (#13167) * UX: unconditionally focus modals (#13179) * UX: Make search result styles more consistent (#13174) * FEATURE: Flarum import script (#13139) * FIX: no error when double save post with poll (#13111) * Build(deps): Bump nokogiri from 1.11.5 to 1.11.6 (#13171) * Build(deps): Bump raindrops from 0.19.1 to 0.19.2 (#13172) * Build(deps): Bump kgio from 2.11.3 to 2.11.4 (#13170) * Build(deps): Bump rubocop-ast from 1.5.0 to 1.6.0 (#13169) * FIX: We can't use `?.` yet (#13168) * FIX: automatically expire bad push channels (#13156) * UX: Add auto focus to hamburger and user menu dropdowns (#13165) * FIX: Close hyperlink modal on ESC key (#13166) * FEATURE: Navigate to an approved queued topic from the review queue. (#12841) * FIX: Make poll options tabbable (#13159) * FIX: add body class and remove jQuery usage in footer-nav component (#13162) * FIX: Use a better default for the low_priority_threshold setting. (#13161) * DEV: Define theme test modules under a `/test` subdirectory (#13158) * DEV: Absorb onebox gem into core (#12979) * FIX: Use max_category_nesting when importing categories (#13105) * UX: Align list-controls & topic-title top margins (#13150) * FIX: Make UI match server behavior for external-auth invites (#13113) * UX: Consistent padding on mobile/desktop `.wrap` (#13155) * UX: Adjust list and onebox margins (#13131) * FIX: Hide a post's pending flag count from TL4 users. (#13129) * FIX: Show inviter name in email's from field (#13141) * UX: change categories page dropdown to a wrench (#13154) * UX: Improve navigation on topic lists for screen readers (#13153) * UX: provide a region for various topic actions (#13152) * FEATURE: Show stale reviewable to other clients (#13114) * DEV: Remove unused `disabled_plugins` checks (#13144) * FEATURE: Allow selective dismissal of new and unread topics (#12976) * UX: Users can postpone discobot's tutorial. (#13060) * FEATURE: Normalize the service worker route (#12343) * UX: Search result link title color change (#13149) * A11Y: Add heading role for post titles. (#13143) * UX: Make discobot flag tutorial copy clearer (#13148) * FIX: Better focus support for modals (#13147) * FIX: Properly break overflowing long links in topic map (#13146) * FIX: Sort user bookmarks by reminder date (#13145) * Add category breadcrumbs to edit category page (#13126) * DEV: Add peer dependencies (#13132) * DEV: Remove unused `offscreen-content` (#13133) * DEV: Change default `code_formatting_style` to `code-fences` (#13135) * DEV: Don't resetSite() more often than needed (#13138) * DEV: Use `import { inject as controller}` Ember idiom (#13140) * FEATURE: Change "Preformatted text" shortcut (#13137) * Update translations (#13136) * UX: add ARIA region role to posts (#13130) * UX: show Update button instead of Enable button when slow mode is already enabled (#13077) * FIX: Simplify post and topic deletion language (#13128) * DEV: Switch off of our image_optim fork (#13124) * minor refinements to the Universal Rules (#13127) * DEV: add plugin hook to add topic participant classes (#13125) * FEATURE: Add on_preload for TopicView (#13122) * DEV: Add `session` to `before_auth` and `after_auth` hooks (#13123) * DEV: Default to `development` RAILS_ENV when running theme tests (#13106) * FIX: Ignore max excerpt length for div excerpts too (#13058) * FEATURE: Correctly convert topic title to uppercase and lowercase for Turkish default locale (#13115) * A11Y: Fix post control and user-menu focus styles (#13118) * FEATURE: Add tasks to export and import site structure (#12584) * Build(deps): Bump ffi from 1.15.0 to 1.15.1 (#13121) * Build(deps): Bump faraday from 1.4.1 to 1.4.2 (#13120) * Build(deps): Bump puma from 5.3.1 to 5.3.2 (#13119) * FIX: Do not call :post_edited webhook twice when editing OP (#13112) * DEV: fix warnings 'Hbs template must be compiled and not a string' in tests (#13116) * DEV: Add non-x86_64 warning to `d/boot_dev` * DEV: Update docker development binstubs * DEV: Only mount top-level plugin symlinks * FEATURE: Support tag and replace in watched words in test modal (#13100) * FIX: slow mode dialog doesn't remember Enabled Until value (#13076) * FIX: Allow add email to group if user can invite (#13097) * Build(deps): Bump nokogiri from 1.11.4 to 1.11.5 (#13107) * DEV: Correct spelling mistakes in comments * FIX: Update upload secure status when revising posts (#13110) * DEV: Correct typos and spelling mistakes (#12812) * UX: Improve positioning of controls in lightboxes (#13108) * DEV: Correct theme:qunit help text (#13104) * FIX: Disable lightboxing of animated images (#13099) * DEV: Run `yarn install` when running `bin/ember-cli` (#13102) * FIX: Review Queue Query parameters were not refreshing in Ember CLI builds (#13101) * DEV: Remove reference to very old plugin (#13098) * UX: Fix theme upload width, remove class clash, prettier (#13071) * FIX: Correctly publish messages unconditionally to admins (#13053) * FIX: Specificity and other fixes for WCAG colors (#13082) * DEV: add timezone to user fixtures (#13095) * Build(deps-dev): Bump webmock from 3.12.2 to 3.13.0 (#13072) * PERF: Precompile child theme stylesheets. (#13040) * DEV: Some select-box headers don't need a class (#12992) * FIX: do not validate uploads when running `uploads:fix_missing_s3` task (#13096) * FEATURE: allow for notification of up to 20 group owners (#13081) * FEATURE: add support for "skip_validations" option in UploadCreator (#13094) * No need to disable rate limiter after running tests (#13093) * FEATURE: constrain post_excerpt_maxlength (#13064) * FIX: backtracking re-render" assertion in future-date-input (#13075) * FEATURE: Increase daily edit limits proportionally to trust level (#13090) * Build(deps): Bump faker from 2.17.0 to 2.18.0 (#13073) * FIX: do not include contact url & email in client site settings payload (#13004) * Build(deps): Bump rubocop from 1.14.0 to 1.15.0 (#13079) * Build(deps): Bump nokogiri from 1.11.3 to 1.11.4 (#13074) * Fix typo (#13087) * Version bump to v2.8.0.beta1 (#13092) * Version bump to v2.7.0 * Update translations (#13089) * Update translations (#13088) * Fix typo (#13086) * FIX: removes legacy Ember.keys usage causing a crash (#13085) * FIX: Make replace watched words work with wildcard (#13084) * FIX: Previewing themes didn't work in Ember CLI (#13078) * FIX: An unresolved blank uri should attempt an alternate Oneboxing strategy, if available (#13070) * FIX: Automatically load more reviewable items. (#13069) * DEV: Update `bin/bundle` (#13067) * DEV: Improve auto-restart parent process detection logic (#13068) * FIX: Allow `file-change` events soon after reloading (#13065) * DEV: Prevent automatic restart of rails console (and crashing zsh) (#13066) * FIX: Skip upload if HTML cannot be parsed (#12971) * FIX: Make autotag watched words case insensitive (#13043) * Build(deps): Bump execjs from 2.8.0 to 2.8.1 (#13063) * DEV: Periodically delete old email change requests (#13054) * Build(deps-dev): Bump test-prof from 1.0.4 to 1.0.5 * FIX: Wrong scope used for notification levels user serializer (#13039) * DEV: Oneboxer wildcard subdomains (#13015) * DEV: bundle update onebox (#13059) * FIX: Layout of date input in poll builder (#13057) * PERF: Preload `JsLocaleHelper.load_translations` for default locale. (#13041) * FIX: Delete unconfirmed emails first if available (#13046) * FIX: Missing iframe closing tag in discobot certificate (#13052) * DEV: Add service to validate email settings (#13021) * Build(deps-dev): Bump test-prof from 1.0.3 to 1.0.4 (#13051) * Build(deps): Bump docile from 1.3.5 to 1.4.0 (#13050) * DEV: Update ember-cli across all in-repo addons (#13048) * FIX: We should include resumable.js in the admin bundle (#13049) * DEV: Update lodash from 4.17.15 to 4.17.21 (#13045) * FIX: Make truth-helpers work in Ember CLI (#13044) * DEV: Update chart.js from 2.9.3 to 2.9.4 (#13026) * added a plugin outlet for above the discovery list controls (#13042) * FIX: Support pausing inline animated images (#13033) * DEV: Remove SCSS color vars fallbacks (#13035) * Update handlebars from 4.7.6 to 4.7.7 (#13027) * FIX: Various invite system fixes (#13003) * DEV: Print a warning and restart server when editing non-autoloaded files (#13037) * DEV: Remove tool-versions used by asdf package manager. * Build(deps): Bump puma from 5.3.0 to 5.3.1 (#13038) * DEV: Add cleanup methods for composer extension hooks that tests can use (#13034) * Update translations (#13030) * FEATURE: New API hook to allow for client side upload transforms (#12990) * DEV: Minor changes to `/theme-qunit` landing page (#13032) * DEV: Load plugins in theme tests (#13028) * DEV: Show warning in admin UI for core SCSS color vars (#12984) * Build(deps): Bump ini from 1.3.5 to 1.3.8 (#13029) * Build(deps): Bump y18n from 4.0.0 to 4.0.3 (#13024) * Build(deps): Bump execjs from 2.7.0 to 2.8.0 (#13016) * DEV: Fix some deprecation warnings in tests * DEV: Clear `NavItem.customNavItemHrefs` between tests (#13025) * DEV: Remove unnecessary yarn.lock files (#13001) * DEV: rescues site setting missing exception (#13022) * FIX: flaky specs after topic view custom filters (#13019) * Revert "DEV: Drop old IE11 intersection-observer references" (#13017) * FIX: properly filter ember-cli args (#13011) * DEV: Extract out compound conditional (#13008) * FIX: Recalculate scores only when approving or transitioning to pending. (#13009) * FIX: ember-cli proxy subfolder fix (#12996) * DEV: Fix flaky d-editor test (#13005) * FIX: check trust level of user creating invite for group (#12993) * Version bump to v2.7.0.beta9 (#13006) * Version bump to v2.6.7 * DEV: Ember CLI postinstall hook and shortcut (#12987) * DEV: Clean up .gitignore (#12981) * Build(deps-dev): Bump discourse_dev from 0.2.0 to 0.2.1 (#13002) * Build(deps): Bump puma from 5.2.2 to 5.3.0 (#12997) * Build(deps-dev): Bump rb-fsevent from 0.10.4 to 0.11.0 (#12998) * FIX: Catch UndefinedConversionError for inbound emails (#13000) * FIX: Remove auto-route from topic-link (#12999) * FEATURE: ability to register custom filters for posts (#12938) * FIX: access to styleguide in subfolder install (#12995) * FIX: allow webp format on themes by default as well (#12994) * DEV: Buttons were missing btn-default classes (#12991) * DEV: Remove duplicate test (#12989) * FIX: Core templates should never overwrite theme/plugins (#12988) * DEV: do not cd into yarn dir, use --cwd argument to yarn instead (#12986) * UX: return correct error message if reviewable user is deleted already. (#12977) * DEV: Fix tags/show template lint errors (#12982) * FIX: `crypto.randomUUID` is only available in newer node releases (#12983) * DEV: update styleguide guidance for colors and font sizes (#12975) * DEV: show profiler badge for first request (#12978) * PERF: Preload `LetterAvatar.image_magick_version` in master process. * DEV: Remove unused rswag script * UX: Improve category controls on smallest devices (#12945) * FIX: Shared drafts should be disabled if Uncategorized was selected. (#12973) * Color scheme optional defer publish (#12972) * FIX: Do not try to show logo if it does not exist (#12968) * FIX: Cache missing inline oneboxes (#12953) * Add Mini Profiler support to Ember CLI (#12970) * DEV: tiny refactor in watched words (#12969) * FIX: Prevent infinite loop when replacing watched words (#12967) * Build(deps): Bump rqrcode from 1.2.0 to 2.0.0 (#12962) * SECURITY: Bump Rails to 6.0.3.7 (#12965) * SECURITY: Bump Rails to 6.1.3.2 (#12963) * DEV: remove unused Helpers::StubbedJob (#12960) * DEV: removes unused set_env (#12961) * FEATURE: Allow sending a message with invite (#12892) * Build(deps): Bump rubocop from 1.13.0 to 1.14.0 * FEATURE: Add email_encoded parameter to accept inbound base64 encoded emails (#12947) * DEV: Remove autoloading in initializers depreciation message. * DEV: Remove unused autoload path. * UX: Admin watched words UI tweaks (#12956) * FIX: Base topic details message on current category and tag tracking state (#12937) * FIX: `{{ace-editor}}` was buggy in Ember CLI release (#12952) * FIX: Use the no-sandbox flag when running Ember CLI tests. (#12951) * DEV: Update server startup warning to be more specific (#12949) * Update translations (#12950) * FIX: limit visible revisions history to last 100 (#12946) * UX: update copy on the notifications empty panel (#12948) * DEV: Drop old IE11 intersection-observer references (#12942) * FIX: Pressing back from topic in bookmark list takes user to / (#12936) * Build(deps): Bump bootsnap from 1.7.4 to 1.7.5 (#12944) * FEATURE: Add more class names to latest-topic-list-item (#12933) * FIX: Make the docker:test task install dependencies before calling yarn ember test. (#12943) * Update translations (#12940) * FIX: temporarily skip flaky future-date-input tests (#12941) * UX: Allow saving with cmd+s/ctrl+s with Ace editor (#12674) * UX: hide the list of file extensions on the upload dialog (#12836) * DEV: removes comment about disable_jump_reply (#12939) * UX: add CSS classes on body tag based on topic statuses. (#12729) * Build(deps): Bump simplecov_json_formatter from 0.1.2 to 0.1.3 (#12934) * FIX: Hide Uncategorized unless allow_uncategorized_topics (#12889) * FIX: Link notification to first unread post (#12868) * Build(deps): Bump stackprof from 0.2.16 to 0.2.17 (#12935) * FIX: show required only when full name is required and lint fix (#12916) * DOC: adds a link to teams.discourse.com (#12928) * DOCS: Update min versions (#12932) * Revert "FIX: excludes .svg-as-img from JS sizing (#12906)" (#12931) * DEV: Support referencing public images in plugins in SCSS (#12930) * FIX: tag control styles should apply to desktop (#12919) * UX: anticipate anchor link hover (#12920) * FIX: remove invite based associated object (#12927) * Adding composer-after-composer-editor plugin-outlet on the composer template (#12914) * Build(deps-dev): Bump discourse_dev from 0.1.0 to 0.2.0 (#12844) * FIX: topic might be night at this stage (#12929) * FIX: Show warning only if new value is different (#12893) * UX: refactor security modals (#12870) * FIX: hide "Next Week" in future-date-input on Sundays (#12918) * FIX: prevents exception when text input is nil (#12922) * FIX: correctly use timeouts in `FileHelper` and `FinalDestination` (#12921) * Build(deps-dev): Bump mock_redis from 0.27.3 to 0.28.0 (#12923) * Build(deps): Bump rubocop-ast from 1.4.1 to 1.5.0 (#12924) * Build(deps-dev): Bump test-prof from 1.0.2 to 1.0.3 (#12925) * Build(deps): Bump parser from 3.0.1.0 to 3.0.1.1 (#12926) * FEATURE: add support for like webhooks (#12917) * DEV: Add an option to skip a theme update from the themes:install task. (#12905) * FIX: Wizard locale change wasn't applying to some elements (#12915) * DEV: Add vBulletin5 bulk importer (#12904) * FIX: Update max-width of staff log cells (#12903) * FIX: light color scheme picker should default to user selection (#12913) * FIX: Looking up translation overrides by symbol failed when `count` is used (#12896) * DEV: Add performance warning message when running `rails s` (#12912) * DEV: Improve `bin/unicorn` boot time in development environment (#12900) * DEV: Update pushState and replaceState development patches (#12863) * DEV: Arrange theme QUnit dependencies in the right order (#12907) * DEV: Don't force Ember CLI for proxied requests made by Ember CLI (#12909) * DEV: Fix `BAD CSRF` errors for admin POST requests when on Ember CLI (#12908) * Build(deps): Bump rack-mini-profiler from 2.3.1 to 2.3.2 (#12911) * PERF: Ensure locales are always handled as symbols internally (#12897) * DEV: Use filesystem-based SchemaCache in development (#12901) * FIX: prevents malformed href to crash TopicEmbed (#12910) * FIX: excludes .svg-as-img from JS sizing (#12906) * FEATURE: always insert images on new lines and add newline after (#12895) * FIX: Keep filter UI after editing post (#12898) * DEV: Require Ember CLI to be used in development mode (#12738) * DEV: Add top level `<div>` when using Ember CLI (#12878) * DEV: The docker:test task can run JS tests using the Ember CLI. (#12879) * Version bump to v2.7.0.beta8 (#12894) * Version bump to v2.6.6 * FEATURE: Small improvements to the topic list embed (#12881) * Build(deps): Bump message_bus from 3.3.4 to 3.3.5 (#12883) * DEV: Speed up requests in development mode (#12890) * UX: Reduce the number of columns on invite page (#12891) * FIX: Gracefully handle inline images in emails (#12855) * FIX: Do not cut off long polls (#12854) * FIX: Gracefully handle inline images in emails (#12855) * DEV: refactor font sizing into css custom variables (#12746) * DEV: Cleanup after remote update check (#12887) * Build(deps): Bump rubocop-rspec from 2.2.0 to 2.3.0 (#12884) * Build(deps): Bump excon from 0.80.1 to 0.81.0 (#12885) * Build(deps): Bump mini_portile2 from 2.5.0 to 2.5.1 (#12886) * FIX: add theme field errors (#12880) * FEATURE: Allow theme tests to be run in production (take 2) (#12845) * UX: Fix styling for long label in multi-select choices (#12877) * DEV: raises a GrantError instead of a log and a variable exception (#12875) * PERF: Make stylesheet max_file_mtime calculation more efficient (#12876) * FIX: avatar flair wasn't displaying on the user summary page (#12867) * UI: minor tweaks to insert-hyplink modal (#12871) * FEATURE: new 'trim_incoming_emails' site setting (#12874) * FIX: Improvements to animated image pausing (#12839) * UI: ensures toolbar gear button has identic color and height (#12872) * DEV: Update libv8-node (#12869) * FIX: ensures successive topic hydrates doesn't override category (#12865) * DEV: Return a non-zero exit code when `discourse remap` is aborted (#12873) * DOCS: we use xss.js and not Google Caja (#12866) * Revert "DEV: Improving topic tracking state code (#12555)" (#12864) * DEV: Improving topic tracking state code (#12555) * UX: The Site's logo is the selected option when changing the system's user avatar. (#12861) * FEATURE: include avatar flair on the avatars listed in a user summary’s “Most…” sections (#12858) * FIX: Recent regression meant we were proxying qunit when we shouldn't (#12860) * UX: fix positioning of back button on progress bar (#12847) * FIX: Ember CLI Live Reload was not supported by the CSP (#12859) * FIX: Remove whitespace from theme git versions (#12857) * FEATURE: TL4 & category moderators can merge posts (#12843) * PERF: Add timeout to theme import git commands (#12856) * FIX: No JIT when quoting a mention (#12835) * FIX: Replace use of regular expression (#12838) * Update translations (#12851) * FIX: handle charset=windows-1252 in mbox import script (#12832) * PERF: Improve theme stylesheet compilation performance (#12850) * PERF: Remove N+1s from ThemeController#update and #show (#12842) * DEV: Improve tag groups test (#12848) * FEATURE: the ability to search users by custom fields (#12762) * FIX: Replace use of regular expression (#12838) * FEATURE: add reviewable score updated webhook (#12846) * UX: consistent topic timer message button order (#12826) * UX: Mobile consistency for topic status messages (#12828) * UX: Improve alignment and spacing of category headers (#12829) * A11Y: Category logos are decorative, set empty alt (#12830) * FEATURE: Allow using 'top' view for topic list embed (#12825) * DEV: Add .tool-versions file for package managers (#12808) * DEV: Add select-kit helper isDisabled (#12827) * Revert "FEATURE: Allow theme tests to be run in production (#12815)" (#12840) * FEATURE: Share Topic modal improvements (#12834) * FIX: Make diffHTML handle external changes (#12821) * FEATURE: Ignore anonymous page views on private sites (#12800) * FEATURE: Allow theme tests to be run in production (#12815) * FIX: Show staff bulk actions only to staff (#12823) * UX: correctly shows outline around focused input time (#12833) * FIX: Skip notifications about beginner badges (#12819) * FIX: Bug when scrolling in iOS Safari with composer open (#12831) * FEATURE: A low priority filter for the review queue. (#12822) * FIX: Forward all the HTTP headers through when we bootstrap Ember CLI (#12824) * UX: Improve copy when no results in bookmarks and notifications quick access panel (#12820) * DEV: add group-post-additional-member-info plugin outlet (#12810) * DEV: Add group join/leave events (#12817) * DEV: Fix spelling mistakes in DB migrations (#12811) * FEATURE: New share topic modal (#12804) * DEV: Improve Ember CLI's bootstrap logic (#12792) * FIX: ensures successive tags can be renamed (#12818) * FEATURE: Show a notice if video cannot be rendered (#12718) * DEV: Move autotag to topic creator (#12790) * FEATURE: Show a textarea in advanced mode (#12806) * FIX: allow moderators to access /admin/customize/watched_words (#12816) * DEV: add tag-navigation plugin outlet (#12814) * DEV: Add primary group class to user summary page (#12809) * Add primary group classes (#12807) * FIX: Ensure tag topic lists are not scrolled to an incorrect position (#12805) * UX: stop presence indicator hop, space consistency (#12797) * Improve validation for polls and improve builder (#12745) * FIX: Do not add CSS transition effect to animated images (#12803) * FIX: Send a different message if export fails (#12799) * FEATURE: Allow pausing animated images in posts (#12795) * UX: do not pre-select blank tag on append tags bulk action (#12801) * DEV: Fix flaky Ember test (#12802) * DEV: allows reports to display an html title (#12687) * FIX: when a flag is handled archive message for moderator group (#12798) * Build(deps): Bump bootsnap from 1.7.3 to 1.7.4 (#12793) * UX: uses native date picker when possible (eg: not safari) (#12668) * DEV: replaces huge generated emoji list by a simpler regex (#11053) * UX: Prevent topic progress bar from overlapping (#12780) * FIX: Exclude emoji images from JS sizing (#12796) * FIX: Invalid Date on "last" shortcut for timer + bookmarks (#12783) * FIX: `TagDrop` uses `currentCategory` now (#12786) * UX: fix layout of group header buttons on mobile (#12781) * FEATURE: Make `category-navigation` outlet tagless (#12788) * FIX: blank avatar on user card if flair url is undefined (#12791) * Group posts adhere to prioritize name in UX option (#12789) * FIX: Allow finding non-lowercase tag groups (#12787) * DEV: Experiment with relative image sizes and native image lazy loading (#12759) * FIX: Fall back to hardcoded version when period check disabled (#12784) * FIX: Do not dump schema during production database migrations (#12785) * FEATURE: watch title for automatic tagging (#12782) * COPY: Add a JIT when user hits likes rate limit (#12777) * FEATURE: Review every post using the review queue. (#12734) * DEV: Upgrade Rails to 6.1.3.1 (#12688) * Build(deps): Bump rubocop from 1.12.1 to 1.13.0 (#12776) * Build(deps): Bump jwt from 2.2.2 to 2.2.3 (#12775) * UX: Fix focus style for post edit history button (#12757) * PERF: properly preload emails to speed up user exports (#12778) * UX: Update positioning of mobile post controls (#12760) * FIX: Use CDN urls for theme settings of type upload (#12773) * FIX: Revert color of post-map (#12774) * UX: improve user card control layout for long text (#12770) * UX: Wider drop down for top page select kit (#12766) * FIX: If we want a `.json` path, don't bootstrap (#12772) * FIX: Use CDN urls for theme uploads (#12769) * COPYEDIT: remove one unnecessary word from upload dialog (#12768) * UX: Update signup cta styles (#12761) * UX: show error message instead of disabling save button on tag groups page (#12767) * added "in kB" to email total attachment limit (#12765) * Update translations (#12764) * UX: displays a descriptive error when theme is not allowed (#12763) * soften language around daily limits and add daily (#12749) * FIX: user group message route should not be case-sensitive (#12753) * FIX: Clientside validate min tags for required tag group (#12758) * FEATURE: Topic count in category boxes (#12756) * fix vbulletin importer to import unreferenced attachments (#12187) * FEATURE: Add plugin outlet for category-box-below-each-category (#12755) * UX: smoother timeline footer animation, padding fix (#12743) * Adding after-groups-index-container plugin-outlet (#12750) * DEV: Fix linting (#12754) * UX: Mobile styling for discard draft modal buttons (#12735) * DEV: makes transformComplete async (#12752) * DEV: adds an experimental `preserveKey` bool option to autocomplete (#12751) * FIX: POP3 polling shouldn't stop after exception or old email (#12742) * Build(deps): Bump faraday from 1.3.0 to 1.4.1 (#12748) * FIX: Enforce tag group count validation before sending to review queue (#12728) * FEATURE: Show the slow mode indicator in composer (#12720) * DEV: make font sizing and ratios default (#12741) * FIX: Allow CodeCommit-style theme .git url format (#12739) * DEV: Add app event "topic:timings-sent" (#12737) * DEV: Export regex for parsing topic URL (#12740) * UX: Prevent some composer buttons from receiving focus (#12719) * DEV: ensures stylesheet watcher isn't crashing with gems plugins (#12733) * Build(deps): Bump oj from 3.11.3 to 3.11.5 (#12732) * FIX: Update database_restorer to avoid shell use (#12731) * Build(deps): Bump excon from 0.79.0 to 0.80.1 (#12724) * DEV: Pass a list of tag group names when using the search endpoint. (#12721) * FIX: whitespaces when copying code blocks (#12730) * FIX: ensure plugin's gems are in the gem path (#12727) * FIX: Generate unique HTML heading names (#12705) * FIX: Docking mixin was not cleaning up timers (#12638) * DEV: Bump discourse_dev to 0.1.0 (#12722) * FIX: remove old usercard styles, fix bg img class (#12712) * DEV: Raise exception when execute_command will spawn a shell (#12716) * FEATURE: In the slow mode dialog make "Enabled Until" mandatory (#12701) * UX: Full height composer on mobile Android (#12709) * FIX: Show invite validation errors to users (#12717) * UX: Minor styling improvements to invites (#12715) * FIX: Improve error messages for invites (#12714) * FIX: Ensure the top 6 categories are shown in the user summary (#12691) * FEATURE: Tweak slow mode messages and intervals (#12704) * DEV: updates to onebox 2.2.14 (#12713) * Build(deps): Bump connection_pool from 2.2.4 to 2.2.5 (#12710) * UX: moves from summary/details to a button to expand github body (#12698) * DEV: Do not install service workers in development (#12708) * FIX: Already sent headers error in Ember CLI (#12706) * FIX: `this.loading` is undefined, it should be `state.loading` (#12707) * FIX: handle permalinks with query parameters (#12700) * FIX: `ember build` was not adding digests to additional bundles (#12703) * FIX: Don't show the get a room composer message in private categories (#12702) * FEATURE: allow setting postgres connection variables via environment * PERF: Async notify users after inviting group (#12697) * FEATURE: Reduce invite key length (#12692) * FIX: Use Nokogiri and Loofah consistently (#12693) * Version bump to v2.6.5 * Version bump to v2.7.0.beta7 (#12696) * SECURITY: Improve theme git import (#12694) * SECURITY: Improve theme git import (#12695) * DEV: Support Node 15 with Ember CLI (#12679) * FEATURE: Auto-activate users invited by email (#12675) * FIX: Improve anchor links (#12683) * FEATURE: Category setting to allow unlimited first post edits by the owner of the topic (#12690) * DEV: remove musl support from Gemfile (#12689) * FIX: Software update prompt fixes and improvements (#12648) * FIX: Topic user bookmarked column is out of sync after post moves (#12612) * DEV: update mini_racer for ARM support (#12682) * Build(deps): Bump mini_racer from 0.3.1 to 0.4.0 (#12681) * FIX: Allow raw-view classes to be resolved from themes/plugins (#12685) * Update translations (#12684) * Build(deps): Bump connection_pool from 2.2.3 to 2.2.4 (#12680) * enable eol-last for eslint and ember-template-lint (#12678) * Update `caniuse-lite` to the latest version (#12677) * DEV: user suspension use .present? (#12676) * UX: Improve poll builder UI (#12549) * DEV: Remove ScrollTop mixin (#12673) * FEATURE: Send an email notification when a post is approved. (#12665) * FIX: only send user suspension emails if email message provided (#12666) * DEV: Allow `Discourse::Utils.execute_command` timeout with `env` (#12672) * FEATURE: Introduce theme/component QUnit tests (take 2) (#12661) * FIX: automatically timeout long running image magick commands (#12670) * DEV: implements some of ember-truth-helpers (#12667) * DEV: uses onebox 2.2.12 (#12671) * UI: adds styling for new github PR body details/summary (#12669) * FIX: Allow restoring non-subfolder backup to subfolder site (#12537) * DEV: Add SCSS helper to replace `asset-uri` and `image-uri` (#12664) * FIX: automatically timeout long running image magick commands (#12670) * FEATURE: adds last day to about page stats (#12663) * FEATURE: Add user_confirmed_email to user event webhook (#12539) * FIX: remove superfluous spaces from CJK blurbs (#12629) * DEV: bump `discourse_dev` gem version to 0.0.9 (#12660) * DEV: Skip looking for svgo, gifsicle binaries (#12655) * DEV: Use Terser for JS minification/compression if available (#12656) * Build(deps-dev): Bump parallel_tests from 3.6.0 to 3.7.0 (#12657) * FIX: When user has already hit bookmark limit, do not error for clear_reminder! or other updates (#12658) * FEATURE: Make the tag_groups#search endpoint public. (#12643) * FEATURE: trigger webhook when a user added/removed in a group. (#12653) * FIX: Ensure group flair upload is present when deciding type (#12650) * FEATURE: Use SVG icons for some oneboxes (#12654) * UX: shows a hint when there are more tags than displayed (#12649) * DEV: Adds new plugin API support to always show the topic map (#12642) * UX: always display remove emoji btn from emoji-value-list (#12652) * DEV: introduces {{not}} helper (#12651) * Build(deps): Bump sidekiq from 6.2.0 to 6.2.1 (#12644) * Build(deps): Bump loofah from 2.9.0 to 2.9.1 (#12646) * Build(deps): Bump nokogiri from 1.11.2 to 1.11.3 (#12645) * FIX: dismiss new button for tags on top (#12628) * FIX: behaviour -> behavior spelling in default US translation (#12647) * FIX: mobile topic list number alignment (#12641) * tweaks to invite error messages (#12640) * REFACTOR: Consistency, A11Y, and less text for composer toggles (#12627) * DEV: Bump discourse_dev to 0.0.8 (#12639) * Version bump to v2.7.0.beta6 (#12636) * DEV: stub youtube embed requests (#12637) * DEV: lazy-yt plugin should attempt to use `parse_embed_response` (#12626) * Version bump to v2.6.4 * DEV: bundle update onebox (#12635) * FIX: Ensure software-update banner is only shown after 24 hours (#12634) * FEATURE: Treat site settings as plain text and add a new HTML type. (#12618) * DEV: Bump discourse_dev to 0.0.7 (#12633) * Revert "FEATURE: Introduce theme/component QUnit tests (#12517)" (#12632) * DEV: prevents test timeout (#12631) * DEV: Added support for custom site setting 'emoji_list' (#12414) * FIX: Prevent double slashes in Ember templates paths (#12630) * Update translations (#12614) * FEATURE: Introduce theme/component QUnit tests (#12517) * FIX: Make HTML scrubber work with deep HTML (#12619) * UX: icon instead of text for hiding mobile preview (#12625) * DEV: add JS test for topic bulk action modal (#12621) * FIX: Small tweaks to "no messages" education (#12588) * FEATURE: Move site updated modal into a less obtrusive prompt (#12577) * Build(deps): Bump parser from 3.0.0.0 to 3.0.1.0 (#12624) * DEV: Add Higher Logic import script (#12623) * FIX: Include watched topics from muted categories in digests (#12602) * FIX: Keep current filter while navigating posts in a topic (#12620) * DEV: Add a new plugin outlet to composer bottom for mobile buttons (#12622) * FIX: Retain tags when loading a topic draft in composer (#12616) * DEV: Add colors/styling to Ember CLI and qunit tests (#12617) * FEATURE: Allow setting avatar flair for automatic groups (#12586) * FEATURE: Retrieve an existing link only invite (#12575) * FIX: show sign up modal when local logins are disabled (#12611) * FIX: Clear state after creating new topic (#12615) * FIX: New Topic button regression in tag page (#12613) * FIX: Simplify send PM to email settings (#12583) * Build(deps): Bump rexml from 3.2.4 to 3.2.5 (#12606) * Build(deps): Bump mini_mime from 1.0.3 to 1.1.0 (#12607) * A11Y: makes replies count a button and not a link (#12570) * Overflow on user controls breaks select-kit (#12592) * FIX: bulk select on full-page search (#12593) * UX: better position for search bulk select button (#12594) * DEV: Set min_search_term_length to 1 (#12610) * FIX: rake themes:update should fail if a theme update fails (#12608) * FIX: with vanilla js .href and getAttribute("href") are not equal (#12609) * FIX: rake themes:install error if theme cannot be updated (#12605) * Revert "A11Y: Do not use positive tabindex in composer (#12563)" (#12603) * FEATURE: add maximum limit for secondary emails (#12599) * DEV: removes jquery usage from intercept-click (#12600) * Build(deps): Bump oauth from 0.5.5 to 0.5.6 (#12595) * Build(deps): Bump progress from 3.5.2 to 3.6.0 (#12596) * Build(deps): Bump rubocop from 1.12.0 to 1.12.1 (#12597) * DEV: bundle update onebox (#12591) * FIX: downloading watched words was broken (#12578) * FEATURE: Copying invite link triggers a save (#12581) * FIX: Better error message for redeemed invite (#12580) * Change to no_messages_body copy (#12587) * A11Y: make th keyboard accessible + aria attribs (#11895) * DEV: Pass editFirstPost action to plugin outlet in topic.hbs (#12582) * FEATURE: Use appEvents instead of jQuery for composer resizing progress (#12574) * FIX: "confirm new email" emails were failing for EmailChangeRequest records with blank requested_by_user_id field (#12579) * UX: move logs/watched_words to customize/watched_words in admin section (#12571) * FIX: post merging was failing silently (#12566) * FEATURE: Show an educational message in the quick access menu for personal messages when there are none (#12564) * Build(deps): Bump i18n from 1.8.9 to 1.8.10 (#12576) * FIX: title when YouTube is pasted as the title to composer (#12565) * A11Y: Do not use positive tabindex in composer (#12563) * DEV: bundle update onebox (#12573) * FEATURE: Oneboxer cache response body (#12562) * FIX: Autocorrect values for dropdown imported user fields (#12572) * Build(deps-dev): Bump listen from 3.5.0 to 3.5.1 (#12561) * FIX: Reload messages after a bulk operation (#12569) * FIX: Handle staged users as unregistered users for external auth (#12567) * FIX: User fields are case insensitive in bulk CSV (#12559) * FIX: Redirect to provided origin after auth (#12558) * DEV: small refactor of the category_moderators method (#12550) * Improve details_enabled site setting description copy (#12560) * UX: more consistent user control button width (#12553) * UX: remove reference to contact form in settings (#12554) * UX: login modal adjustments (#12552) * DEV: Clear filters when navigating to a post (#12557) * DEV: Remove draft attributes from topic lists (#12525) * Update translations (#12556) * FIX: Improve error messages if user cannot send PM emails (#12547) * DEV: Correct the ruby version check (#12551) * UX: Fix tab list alignment in emoji popup (#12548) * FIX: additionalOpts update and change to function (#12546) * FIX: Show error messages when adding permalinks in the admin UI (#12545) * DEV: Better SimpleCov configuration (#12544) * FIX: Prevent UniqueViolation exceptions when syncing group mentions (#12543) * FIX: Set the "hasTargetGroups" attribute in the composer when clicking the group message button. (#12536) * UX: Let users know they disabled discobot and they can't interact with it. (#12534) * FIX: Isolate modal and global key-binds (#12477) * FEATURE: Allow admins to pre-populate user fields (#12361) * DEV: Add tests for create-invite modal (#12535) * FIX: Bookmark topics were not being updated when the post moved (#12542) * Build(deps): Bump mini_mime from 1.0.2 to 1.0.3 (#12540) * Build(deps-dev): Bump webmock from 3.12.1 to 3.12.2 (#12541) * PERF: improve category moderators query (#12538) * FIX: Allow dismissing Discard Drafts modal via ESC (#12532) * UX: Emoji popup layout adjustments (#12533) * FEATURE: Implement nonces for Google Tag Manager integration (#12531) * Build(deps-dev): Bump fabrication from 2.21.1 to 2.22.0 (#12529) * Build(deps-dev): Bump parallel_tests from 3.5.2 to 3.6.0 (#12528) * FEATURE: Add new :topic_tags_changed DiscourseEvent (#12530) * IMPR: improved topic timer component's code structure (#12519) * FIX: add all the keys that should be allowed in user_notifications (#12526) * DEV: Add tests for invite system (#12524) * FIX: Replace 'Chromebook' with 'Chrome OS' (#12508) * UX: Display a tooltip when trying to delete an automatic group. (#12493) * DEV: Move incorrectly placed topic tests (#12513) * FIX: Allow pasting invitees in invite modal (#12520) * FIX: Composer save button should be ✏ Save Edit when editing a PM post (#12521) * DEV: Deprecate `message` parameter in auth provider plugin API (#12523) * FIX: remove @discobot likes feature on public topics (#12522) * FIX: `uploads:fix_missing_s3` rake task used wrong SHA1 (#12495) * FIX: delete orphan post revisions (#12502) * FIX: Add topic_diff to PostRevisor (#12518) * FIX: Make mobile back/forward keybinds work for anons (#12512) * DEV: Move color definition functions to mixins (#12511) * Build(deps): Bump rubocop from 1.11.0 to 1.12.0 (#12515) * Build(deps): Bump uniform_notifier from 1.14.1 to 1.14.2 (#12516) * FIX: error overriding user notification string with valid keys (#12510) * DEV: Skip composer duplicate link test (#12509) * DEV: Replace Rails ends_with? with Ruby end_with? (#12507) * DEV: Change flakey posts controller spec (#12506) * DEV: API for plugins to add post update params and handlers (#12505) * FEATURE: Treat emoji or similar characters as one (#12482) * FIX: new-topic route with sub-category and tags were broken (#12503) * FIX: 404 error when editing an expanded reply (#12504) * DEV: Add Ember CLI tests workflow (#12474) * Build(deps-dev): Bump listen from 3.4.1 to 3.5.0 (#12500) * Build(deps): Bump debug_inspector from 1.0.0 to 1.1.0 (#12499) * FIX: rake db:validate_indexes was broken (#12463) * FIX: correct mailing list migration (#12501) * DEV: upgrade mini_sql (#12465) * FIX: Perform better email validation (#12497) * UI: Make sure staff logs don't break the layout (#12494) * DEV: Retry-after header values should be strings (#12475) * FIX: Add migration to set correct redemption_count (#12491) * FIX: Regression in colors used by non-default theme (#12492) * FIX: bulk "archive" and "move to inbox" for group messages was broken (#12488) * Update translations (#12490) * FIX: Replace censored watched word consistently (#12486) * Fix CSS for collapsed table cells when showing insertion in Raw mode (#12489) * FEATURE: Add anchor links to headings (#12379) * FIX: Do not show duplicate_link notice for quotes (#12481) * FIX: Never display the invite show page form if DiscourseConnect enabled (#12466) * PERF: avoid regex on uploads table (#12485) * Build(deps): Bump bootsnap from 1.7.2 to 1.7.3 (#12483) * FEATURE: Import and export watched word (#12444) * FEATURE: Add CSP frame-ancestors support (#12404) * FIX: Add platforms to stable Gemfile (#12479) * UI: Rename button with a duplicated name. (#12480) * FEATURE: Add a typographer rule to replace (pa) with ¶. (#12478) * FEATURE: Implement browser update in crawler view (#12448) * FIX: Don't attempt to delete non-existent bookmark (#12473) * FIX: Anons should see the Topic slow mode notice. (#12460) * FEATURE: Check email availability in signup form (#12328) * FIX: ensures popper's autocomplete instance is destroyed (#12476) * FIX: Improvements to email styles (#12451) * FIX: ensures invisible link is not interfering with UI/tab order (#12472) * FIX: Restore client.zh_TW.yml (#12470) * DEV: Add ap-east-1 S3 region (#12457) * FIX: a never created listener was removed (#12469) * DOC: document addShortcut click option (#12467) * DEV: correctly defines focusComposer shortcut as shift+c (#12468) * Build(deps): Bump oauth2 from 1.4.4 to 1.4.7 (#12462) * SECURITY: Fix is_private_ip for RateLimiter to cover all cases (#12464) * SECURITY: Fix is_private_ip for RateLimiter to cover all cases (#12464) * FEATURE: Add `admin-area` class to HTML tag (#12459) * FIX: Tests were broken in Firefox (#12456) * FIX: Clear draft modal correctly when switching topics (#12458) * DEV: Bump nokogumbo from 2.0.4 to 2.0.5 (#12461) * FEATURE: Bookmark pinning (#12431) * DEV: Remove String#match? and Regexp.match? polyfills (#12454) * FIX: Ensure 100-logster initializer is run before 101-lograge (#12455) * FIX: Only refresh the review count when the user can see the review queue. (#12453) * DEV: We hadn't enabled `object-rest-spread` in all contexts (#12452) * FIX: Improve handling when email is obfuscated (#12450) * UX: Composer actions menu header should display the icon of selected action (#12449) * Support for Testem in Ember CLI (#12442) * FIX: Delete invalid web push subscriptions (#12447) * FEATURE: Allow users to save draft and close composer (#12439) * FIX: Do not fail if Postgres is not available (#12440) * REFACTOR: break search results in multiple sub components * DEV: Add output_sql_to_stderr! to MethodProfiler (#12445) * Build(deps-dev): Bump rspec-rails from 5.0.0 to 5.0.1 (#12443) * FEATURE: Allow using invites when DiscourseConnect SSO is enabled (#12419) * DEV: Fix build due to highlight.js branch issue (#12441) * FIX: all staff members (regardless of TL) should be able to pin/unpin topics (#12435) * A11Y: makes search results count readable by screen reader (#12437) * FEATURE: Obfuscate emails on invite show page (#12433) * FIX: browser-update should work with old browsers (#12436) * UX: Show first unique letters in invite link (#12434) * FEATURE: Replace markdown-it replacements rule. (#12417) * FIX: Do not treat code tag as block level element (#12432) * A11Y: improves avatar menu focus/active states (#12422) * DEV: Bump unicorn from 5.8.0 to 6.0.0 (#12430) * FIX: delete post action from permanently deleted posts (#12309) * UX: Improve topic footer alignment and layout (#12420) * UX: Move modal footer into better container (#12429) * FIX: Be able to handle long file extensions (#12375) * FIX: In components, fall back to default theme color variables (#12423) * FIX: Do not raise if post no longer exists (#12428) * FIX: Viewing some tag routes wasn't rendering the list without JS (#12344) * FIX: Tests in `admin/tests` were not running (#12391) * FIX: Fix narrative bot settings in multisites (#12380) * DEV: Set disable_mailing_list_mode automatically (#12402) * DEV: Remove deprecated Sidekiq config (#12427) * DEV: Speed up topics_controller_spec.rb (#12395) * A11Y: associates lists with labels on interface page (#12426) * A11Y: links change username input to its label (#12424) * FIX: Allow group owners manage group flair (#12415) * FIX: Escape Font Awesome icons (#12421) * UX: Add image uploader widget for uploading badge images (#12377) * UX: reduce opacity of code copy button (#12418) * FIX: mention notification takes precedence over group (#12407) * DEV: Make `dockcontainer` and `hidepassed` the defaults (#12416) * FIX: Correctly use invite to topic email templates (#12411) * Update translations (#12412) * FIX: do not convert format for site setting uploads (#12410) * UX: Show Topic column in invites pending tab (#12413) * Build(deps): Bump sidekiq from 6.1.3 to 6.2.0 (#12406) * REFACTOR: Use a `<script src>` tag to start the app (#12401) * UX: Show the `Dismiss New` button at the top of the topics. (#12403) * FIX: deprecation warning - initialization autoloaded the constant (#12400) * Build(deps): Bump omniauth-google-oauth2 from 0.8.1 to 0.8.2 (#12405) * FEATURE: Fallback to system users when creating new TopicEmbed (#12386) * Build(deps): Bump faker from 2.16.0 to 2.17.0 (#12396) * FEATURE: Improve expired invites tab (#12392) * DEV: ensure state is clean prior to spec (#12399) * DEV: Change Bookmark.clear_reminder! update to update! (#12398) * FEATURE: Allow a cluster_name to be configured and used for /srv/status (#12365) * FIX: Move PWA App shortcut for bookmarks to new path (#12388) * DEV: Fix `FakeLogger` spec issues (#12397) * DEV: Update api docs to deprecate target_usernames field (#12394) * FEATURE: Add above-timeline plugin outlet (#12373) * DEV: Use fewer threads when watching for SCSS changes (#12393) * DEV: Remove debug print statement (#12390) * FIX: Allow additional valid theme .git url formats (#12385) * DEV: Remove stray debug logging (#12389) * DEV: mount `DiscourseDev` engine routes at `/dev` path. (#12376) * FIX: Kernel.open is deprecated (#12387) * FIX: Kernel.open is deprecated (#12387) * FIX: Show a proper error message when trying to bulk award a disabled badge. (#12384) * DEV: Move TemporaryDB class to its own file (#12383) * DEV: Refactor plugin SCSS compilation (#12359) * FIX: Show link in invite panel (#12378) * FIX: Invite acceptance tests were broken in Ember CLI (#12367) * Revert "FIX: deprecation warning - initialization autoloaded the constant (#12347)" (#12381) * DEV: bump `discourse_dev` gem to version `0.0.4`. (#12363) * FEATURE: New DiscourseEvent trigger for likes (#12374) * Build(deps): Bump discourse-fonts from 0.0.7 to 0.0.8 (#12372) * Build(deps): Bump nokogiri from 1.11.1 to 1.11.2 (#12370) * FIX: Make sure tag-based topic list uses its own preload key (#12354) * Build(deps): Bump oj from 3.11.2 to 3.11.3 (#12371) * Build(deps): Bump discourse-ember-source from 3.12.2.2 to 3.12.2.3 (#12368) * UX: Add class to body on first unread notification (#12362) * FIX: deprecation warning - initialization autoloaded the constant (#12347) * DEV: add classes to invite modal fields so they can be targeted (#12366) * FEATURE: Enable contact picker on new invite modal (#12364) * A couple important Ember CLI fixes (#12345) * UX: respect "prioritize username in ux" setting wherever possible (#12357) * DEV: Improvements to vanilla_mysql importer (#12308) * DEV: Update API documentation for invites (#12360) * FIX: Do not block `uploads` path in robots.txt (#12349) * FIX: When destroying a topic, destroy its associated published page. (#12358) * FEATURE: Admins can flag posts so they can review them later. (#12311) * FEATURE: Flag to disable DiscourseConnect CSRF protection (#12356) * FEATURE: Add tag-custom-settings plugin outlet (#12355) * DEV: Drop `show_filter_by_tag` site settings. * FIX: Include `json_schemer` in prod (#12351) * FEATURE: Always show tag dropdown when tagging is enabled (#12209) * FIX: Nav items not recomputing on query param change (#12350) * DEV: support json_schema in theme settings (#12294) * DEV: freeze time when running rate limiter tests (#12315) * UX: add bell emoji for better unread education (#12348) * Update disable mailing list mode setting description (#12346) * UX: pasting a twitter link into composer title will not set the title (#12332) * FIX: Add amazon sites to force_get_hosts (#12341) * Version bump to v2.7.0.beta5 (#12287) * FIX: QUnit tests could time out based on load order (#12342) * UX: Consistent labels in invite form (#12339) * FIX: Update excerpt after process_post (#12340) * DEV: Update highlight.js dependency to 10.6.0 (#12303) * DEV: Refactor font and category background importers (#12312) * FIX: Ensure the signup boolean is passed when started via _autoLogin (#12338) * FIX: bump aws-sdk-s3 and aws-sdk-sns (#12333) * FIX: Flaky JS tests (#12331) * FEATURE: Implement bulk operations for PMs (#12286) * FIX: Do not add same email multiple times (#12322) * FIX: Validate user email only once (#12327) * FIX: Add translation string for clear all watched words (#12336) * DEV: Pass signup=true to auth providers when signup buttons used (#12337) * UX: Fix broken styling on login modal when local login is disabled. * DEV: add db:validate_indexes task (#12273) * Build(deps): Bump onebox from 2.2.6 to 2.2.8 (#12330) * UX: login; smaller titles, more consistent spacing, other fixes (#12317) * Build(deps-dev): Bump rspec-rails from 4.1.0 to 5.0.0 (#12329) * FEATURE: allow category group moderators to pin/unpin topics (#12325) * FIX: Do not clean up uploads when they're used by theme settings (#12326) * FEATURE: allow search engines to index tag pages. (#12248) * DEV: Use Ember CLI middleware to decorate the index template (#12292) * UX: Minor improvements to invites (#12324) * Update translations (#12323) * UX: Remove duplicate title from watched words page (#12321) * FIX: Incorrect parameter when using omniauth providers on invites page. * FEATURE: Allow invites redemption with Omniauth providers. * FEATURE: Change very high/low search priority to rank at absolute ends. * UX: Add class to email div on login (#12310) * UX: fix bulk select button height on search page (#12301) * FEATURE: Various improvements to invite system (#12314) * Build(deps-dev): Bump parallel_tests from 3.5.1 to 3.5.2 (#12313) * DEV: add new plugin outlet to tags template (#12302) * DEV: use Redis data for version check in DiscourseUpdates (#12293) * Build(deps): Bump ffi from 1.14.2 to 1.15.0 * Build(deps-dev): Bump rspec-rails from 4.0.2 to 4.1.0 * Build(deps-dev): Bump webmock from 3.12.0 to 3.12.1 * Build(deps-dev): Bump parallel_tests from 3.5.0 to 3.5.1 * UX: clean up tag styles to improve alignment (#12300) * FEATURE: Various improvements to invite system (#12298) * FIX: Race condition in draft sequence updates (#12299) * FEATURE: Add newly loaded topics to bulk-select automatically if Select All is on (#12026) * clarify copy "this site was just updated" popup * Update Code of Conduct to v2.0 (#12296) * DEV: bump `discourse_dev` gem to version `0.0.3`. (#12295) * DEV: Update Rails to latest patch level (#12281) * FIX: new topic indicator on the mobile categories page (#12271) * FIX: subfolder prefix should work even if url starts with the prefix (#12284) * FIX: Ensure UserField changes are reflected instantly in webhooks (#12291) * FEATURE: Add opt-in screenshots to the web app manifest (#12288) * Build(deps): Bump nio4r from 2.5.5 to 2.5.7 (#12289) * Build(deps): Bump aws-eventstream from 1.1.0 to 1.1.1 (#12290) * FEATURE: Mailing list mode default disabled (#11091) * Version bump to v2.6.3 * DEV: add `discourse_dev` gem in development dependencies. (#12285) * FIX: Mobile app notification urls w/ subfolder (#12282) * DEV: DRY up wavingHandUrl code. * FIX: Make `email` a required param when accepting invite links. * FIX: message bus when group private message (#12269) * FIX: Missing quote in emoji cdn setting caused by 83f332b (#12280) * FIX: Remap old S3 endpoints during backup restore (#12276) * FIX: Typo in emoji path caused by 83f332b (#12279) * copy changes to new invite system (#12277) * A11Y: Switch tabs using the keyboard (#12262) * FIX: Remove list double padding (#12275) * FEATURE: Various improvements to invite system (#12023) * FEATURE: Move security related user preferences to different tab (#12264) * FEATURE: Autotag watched words (#12244) * FIX: Sort topic timer and bookmark time options (#12270) * FEATURE: Add year to relative time picker (#12268) * FIX: check min tag count requirement when change category (#12252) * Build(deps): Bump puma from 5.2.1 to 5.2.2 (#12267) * UX: restore autofocus on login inputs (#12266) * FEATURE: Add a site setting to allow emojis to come from an external URL (#12180) * DEV: Always run all linting tests in GitHub actions, even on failure (#12265) * FIX: Remove unused JS from "finish installation" page (#12263) * DEV: Add option to send system message to groups (#12256) * Drop flash video onebox (#12261) * DEV: APIs for plugin to add custom reviewable confirm modal (#12246) * Revert "A11Y: Switch tabs using the keyboard (#12241)" (#12260) * A11Y: Switch tabs using the keyboard (#12241) * FIX: Add href to user avatar in group cards (#12250) * FIX: `Topic#invite_group` failed to notify users on newly created topic (#12255) * FEATURE: Include details about S3 backup storage errors (#12257) * Update translations (#12258) * FIX: Components mobile-specific CSS was missing (#12259) * FIX: CSS tweaks so bookmark + timer modal work on mobile (#12253) * DEV: Remove useless ORDER clause (#12247) * FIX: Skip sending PM email for user silence (#12240) * Build(deps): Bump rubocop from 1.10.0 to 1.11.0 (#12249) * FIX: Add appropriate classes to `html` element including `lang` (#12245) * FIX: 100% Width for logout button (#12243) * FIX: Use `addRawTemplates` even when compiling `.hbr` files (#12228) * FIX - use ImageMagick to determine size of svg images (#12230) * DEV: Add experimental json_scheme site setting type (#12226) * FIX: Update digest when updating color definitions in theme component (#12233) * FIX: Do not output empty style tags for components (#12229) * Build(deps-dev): Bump json_schemer from 0.2.17 to 0.2.18 (#12234) * FIX: Exclude users with posts from purge_unactivated query (#12231) * remove daemonize setting (#12232) * Build(deps): Bump fastimage from 2.2.2 to 2.2.3 (#12236) * Build(deps-dev): Bump bullet from 6.1.3 to 6.1.4 (#12235) * Build(deps): Bump uniform_notifier from 1.13.2 to 1.14.1 (#12237) * Build(deps-dev): Bump test-prof from 1.0.1 to 1.0.2 (#12238) * Build(deps-dev): Bump webmock from 3.11.3 to 3.12.0 (#12239) * FIX: When using Ember CLI theme Javascript/HTML was not being inserted (#12227) * DEV: Use separate files for theme component stylesheets (take 2) (#12225) * FIX: incorrect URL for tag pages inside category in subfolder setup. (#12222) * Revert "DEV: Use separate files for theme component stylesheets (#12214)" (#12224) * FIX: Reintroduce auto_silence_first_post_regex (#12223) * DEV: Remove JoyPixels emoji option (#12197) * DEV: Use separate files for theme component stylesheets (#12214) * FEATURE: Filter reviewables by id. (#12213) * 2FA fixes for login modal (#12221) * DEV: Avoid duplicating method attributes in `Auth::Result`. * Build(deps): Bump onebox from 2.2.4 to 2.2.6 (#12219) * Build(deps-dev): Bump webmock from 3.11.2 to 3.11.3 (#12218) * FEATURE: Add site description for the webmanifest (#12217) * FIX: Don’t display error if only error is a missing image (#12216) * FIX: ignore enter key press on "move to existing post" search field (#12210) * FIX: send notification in user's locale if available. (#12215) * FIX: allow adding user to PM when inviter is in allowed list (even (#12212) * Build(deps): Bump onebox from 2.2.2 to 2.2.4 (#12204) * Add watched words of type "replace" (#12020) * FIX: Strip whitespace from URL before validating (#12174) * FEATURE: Add disable_onebox_media_download_controls hidden site setting (#12208) * FIX: login modal max-width wasn't specific enough (#12207) * FIX: paste table with multiline cell (#12194) * UX: add link for email login below username, remove button (#12118) * DEV: add CORS header for all nginx rules of public folder files. (#12205) * Build(deps-dev): Bump parallel_tests from 3.4.0 to 3.5.0 (#12203) * Build(deps-dev): Bump minitest from 5.14.3 to 5.14.4 (#12202) * FIX: Detect installed themes using URLs instead of names (#12201) * DEV: new plugin API to change default new category colors (#12200) * FIX: Unsubscribe from topic presence when navigating between topics (#12198) * FIX: Pass ajax function to loadOneboxes (#12199) * FIX: NewPostManager should respect category_group_moderator settings (#12116) * SECURITY: Prefer Loofah for processing cooked HTML * DEV: Fix settings/interface UI breaking on Ember CLI (#12154) * Build(deps): Bump regexp_parser from 2.0.3 to 2.1.1 (#12191) * FIX: Ensure badge description is updated when routing without loading state (#12196) * DEV: adds DiscourseEvent - topic_first_visited_by_user (#12195) * FIX: Allow entering blank values in relative-time-picker (#12193) * FIX: Improve error message when login_required sites are under load * DEV: hide the site setting rebake_old_posts_count (#12181) * DEV: Remove deprecated plugins variables importer (#12168) * UX: Remove redundant focus style (#12192) * UX: use default browser focus styling for checkbox and radio inputs (#12173) * Bump discourse-fonts to 0.0.7 (#12190) * FIX: emails.rake-use domain when sending mail test (#12188) * UX: Styling adjustments for admin new features (#12189) * A11Y: Improve the header menu "view all" title. (#12175) * FIX: Don't update `posts_read_count` when the post is from a PM. (#12131) * Update translations (#12186) * DEV: Remove unused `max_api_keys_per_user` site setting (#12185) * DEV: Document the user suspend api endpoint (#12179) * FIX: log warning when context is missing when a user is destroyed (#12182) * FIX: Allow mobile-nav to work without loading transitions (#12184) * UX: Allow select-kit to have an autofocus option (#12183) * DEV: Remove very old mocha deprecation workaround (#12151) * UX: More consistent group mention style (#12156) * FIX: Adding a custom scope should not modify the original ones. (#12178) * DEV: add plugin outlets above and below discovery-categories (#12176) * DEV: Correct DeprecatedSettings test cleanup (#12177) * FIX: Avoid Safari service worker error on back navigation (#12171) * DEV: Support setting deprecated site settings via the API (#12172) * UX: Remove emoji step in wizard (#12169) * UX: Tweak `group` layout to fix button alignment (#12167) * FIX: Don't show "bulk" icon on group-index for unauthorized users (#12166) * DEV: Fix group-index-test under Ember CLI (#12153) * DEV: Scope `query` to the testing container (#12152) * A11Y: deselect focused choice when using enter in multi-select (#12165) * FIX: do not send rejection emails to auto-deleted reviewable users (#12160) * FIX: Make email_valid handling consistent (#11556) * DEV: Improve User#email= behavior (#11338) * A11Y: gives autocomplete in search a more accessible name (#12164) * A11Y: makes other and color, fieldset/legend elements (#12163) * A11Y: makes edit username and avatar accessible (#12162) * FIX: Close navigation dropdown when item selected (#12155) * UX: Skip github commit avatars for topic/post thumbnails (#12157) * A11Y: ensures avatar image in site header has alt attribute (#12161) * DEV: Clean up and refactor CI workflow(s) (#12144) * UX: make tag input full width for PMs (#12158) * FIX: Reduce the time_read threshold to one minute. (#12159) * DEV: Add a CSV importer for restoring deleted users (#12147) * DEV: add classes to sections in category settings (#12150) * FIX: Subfolder replace should only affect URL prefix (#12135) * DEV: Drop old SSO site setting rows from the database (#12148) * Build(deps): Bump logster from 2.9.5 to 2.9.6 (#12149) * DEV: If disabled do not change setting after import (#12142) * DEV: More refactoring of SCSS importers (#12143) * FEATURE: Use the "time_read" stat to flag users as suspicious. (#12145) * FIX: Sort admin dashboard new updates by latest (#12146) * FIX: Don't require a rejection reason if the user is a spammer. (#12141) * UX: implements a new tags-intersection-chooser (#12139) * FIX: Do not allow bookmarks to use post date in past for reminder (#12138) * FIX: ensure corrected migration runs (#12137) * FIX: optimise MoveNewSinceToTable (#12136) * UX: On very short screens switch quick-access-profile to 2-columns (#12120) * UX: Show bullets for some composer lists (#12122) * UX: Adjust padding on create account modal (#12133) * FIX: Use the S3 CDN for the Group flair (#12130) * Version bump to v2.7.0.beta4 * DEV: Clear custom API Key scopes after testing. * DEV: Update mail and use fork (#10639) * FIX: NewPostManager should respect category_group_moderator settings (#12116) * Version bump to v2.6.2 * FEATURE: Quick theme installs via query parameters (#12128) * UX: publishes page, on public change, only when page is published (#12123) * Include UI commits when generating release notes. (#12127) * FIX: Limit post read time to the max integer value (#12126) * FIX: remove top gradient from signup modal (#12121) * UX: Remove margin from security key login button (#12115) * FEATURE: Use diffhtml to update composer preview (#11237) * FIX: Delete topic timers far in the future (#12125) * SECURITY: Attach DiscourseConnect (SSO) nonce to current session (#12124) * SECURITY: Attach DiscourseConnect (SSO) nonce to current session (#12124) * FIX: remove unnecessary OR from dismiss service (#12117) * DEV: add CORS header for all files served from public folder. (#12119) * FIX: Bump max topic timer duration to 20 years (#12107) * FIX: dismiss new when topic_user exists without last read (#12103) * UX: change emailLogin to info class when empty (#12105) * UX: Adjustments to admin theme editor (#12112) * FIX: Allow plugins to correctly extend API key scopes. (#12113) * FIX: hide sso payload behind a button click and log views (#12110) * UX: Add editing guidance for remote themes (#12111) * Build(deps-dev): Bump ruby-prof from 1.4.2 to 1.4.3 (#12101) * DEV: adds within_one_minute time matcher (#12109) * DEV: Replace deprecated sso site settings with discourse_connect (#12099) * DEV: prevents time difference causing flaky spec (#12108) * DEV: flexify post-controls and stop relying on clearfix (#12098) * Add bad_destination_address template to email_templates_controller (#12102) * A11Y: Add rowheader to topic title TDs (#12092) * DEV: Fix topic timer flaky spec for inheriting from category (#12106) * UX: Fix excess line breaks in login modal alerts (#12104) * FIX: Auto close topic from category settings based on topic created_at (#12082) * DEV: log rake plugin:update_all plugin_path on error (#12100) * FIX: force refresh staff action logs when transitioning from site settings (#12096) * FIX: Category redirect to correct slug should not loop (#11772) * FIX: Fix subcategory, tag drops and none values (#11934) * FIX: Update topic_count when updating visibility (#11946) * Update translations (#12097) * DEV: fix flaky specs in ExportUserArchive (#12095) * FIX: Use autocomplete=discourse in select-kit to disable autocomplete in Chrome (#12094) * Build(deps): Bump rubocop from 1.9.1 to 1.10.0 (#12091) * DEV: debug: false for service workers to stop log spam via workbox (#12093) * FIX: Do not mark group_flair images as secure on upload (#12081) * FIX: Clean up topic-timer-info CSS classes, add edit button, and improve UI (#12080) * FIX: adds google tracking to page publishing (#12090) * A11Y: makes select-kit header a listbox (#12078) * FEATURE: support `mark` tag (#12088) * FIX: Restoring backup via UI was broken (#12089) * A11Y: adds support for aria-current through d-navigation-item (#12079) * UX: relative-time-picker should use pluralized strings (#12086) * A11Y: makes aria-owns an ID and not a data attribute (#12075) * A11Y: sets has-popup as menu for select-kit components (#12074) * A11Y: makes quote controls accessible (#12073) * UX: Fix local-dates styling (#12085) * UX: when auto-selecting topic make sure the focus is on selected topic (#12083) * FIX: do not show SSO last payload to moderators (#12084) * Build(deps): Bump i18n from 1.8.8 to 1.8.9 (#12077) * Build(deps-dev): Bump test-prof from 1.0.0 to 1.0.1 (#12076) * FEATURE: Relative time input for timers and bookmarks and promote auto-close after last post timer (#12063) * FIX: Dismiss new with better migration (#12062) * UX: Second Factor + Alert Display (#12071) * FIX: should_alter_quality should respect png_to_jpg_quality (#12055) * DEV: Add poll:voted event (#12070) * FEATURE: when moving posts to existing topic auto-select single topic (#12064) * UX: show plugin descriptions on admin plugins page * FIX: Regression in admin new features (#12068) * FIX: Allow all tags in site/theme settings, ignore tag group restrictions (#12067) * UX: trim `@` char from start of the username string in search. (#12060) * DEV: add allow origin header to public javascript files. (#12059) * DEV: prevents heisentest in processor spec (#12066) * DEV: Prevents rate limits for new feature checks on multisite (#12053) * fix vbulletin importer to hide soft-deleted posts (#12057) * Update translations (#12065) * DEV: Deprecate {{user-selector}} and replace it with {{email-group-user-chooser}} (#12042) * UX: remove pluralization in single category notification types. (#12061) * FIX: Validate duration minutes values for topic timer (#12040) * Build(deps): Bump openssl-signature_algorithm from 1.0.0 to 1.1.1 (#12056) * Revert "FEATURE: Ability to dismiss all new topics (#12018)" (#12058) * FIX: Optimize move to dismiss_new_topics migration (#12041) * DEV: Show warning message when using ember css selectors (#12036) * UI: Specify social button styling (#12054) * UX: Prevent badges on usercards from overflowing (#12037) * UX: Improve tag and assign display in search (#12039) * FIX: adjust width to avoid horizontal overflow (#12038) * FIX: Don't add a slug to constructed quote urls (#12052) * UX: Adjust focus styles for autocomplete input (#12051) * FEATURE: Allow onebox images to be used as topic thumbnails (#12050) * FIX: When adding a quote when the composer is closed, add a newline (#12049) * FEATURE: Add "Recently read topics" tab to user activity page (#12047) * FIX: Handle empty email address from authentication provider (#12046) * UX: Hide external login column when account creation in progress (#12048) * UI: Adjust gradient, icon hover, capitalizations (#12045) * FEATURE: Allow post/topic thumbnails to be prioritized via markdown (#12044) * DEV: Live reload styles in Ember CLI (#12043) * DEV: Enable unicorn logger in test environment * DEV: Use discourse/discourse_test in CI workflows * FEATURE: Ability to dismiss all new topics (#12018) * FIX: Login UI Fixes (#12034) * UX: Remove Convert option for system themes (#12033) * Dev: --dev option does nothing in yarn (#12032) * FIX: do not notify when the hidden tag is added or removed (#12025) * Login signup zazz (#11957) * DEV: Trigger appEvent when topic progress component moves (#12030) * UX: Changes to new features section in admin dashboard (#12029) * DEV: Support for `main` branches in plugin:update (#12027) * FEATURE: Support keyboard back/forward navigation on DiscourseHub (#12028) * tasks/emails.rake: catch exception and puts message (#12024) * A11Y: sets the html lang to user's locale when possible (#12007) * Build(deps-dev): Bump rswag-specs from 2.3.3 to 2.4.0 (#12022) * DEV: Fix flaky specs * FIX: Restoring could fail due to missing path * FIX: Restoring backup could fail due to missing uploads * FEATURE: Allow overriding the backup location when restoring via CLI (#12015) * Update translations (#12019) * DEV: Update category api docs (#12017) * FIX: return 404 `not found` error if a topic is deleted. (#11987) * FIX: Check if post.topic exists before publishing topic updates (#11900) * UX: Remove 2px border from some select-kit buttons (#12016) * DEV: Plugin-outlet for adding new item in user-notifications filter navigation bar (#12000) * DEV: add helper script to run ember cli (#12005) * FEATURE: Ability to dismiss new topics in a specific tag (#11968) * Build(deps): Bump bootsnap from 1.7.1 to 1.7.2 (#12014) * DEV: Don't skip tests that run fine in legacy env (#12011) * api docs example (#11997) * FIX: Some error messages used wrong translation key (#12012) * FEATURE: Handle user agent push subscription change events (#11994) * FIX: Correct server error for starting SSO login, and add spec (#12010) * A11Y: correctly sets a name on combo-boxes for single selects (#12009) * DEV: makes aria-expanded boolean check strict (#12008) * FEATURE: Rename 'Discourse SSO' to DiscourseConnect (#11978) * A11Y: Adds support for aria-expanded and aria-controls to btn (#11846) * A11Y: makes user notifications list more accessible (#11992) * FIX: Topic progress bar should be on the left in RTL layouts (#11999) * Build(deps): Bump puma from 5.2.0 to 5.2.1 * Build(deps): Bump nio4r from 2.5.4 to 2.5.5 * FIX: Topic timer duration_minutes was not backfilled correctly (#12004) * Build(deps-dev): Bump rswag-specs from 2.3.2 to 2.3.3 (#12003) * most people use SSH keys these days (#11998) * DEV: Add CSRF meta tags to pages served by Ember CLI server (#11993) * UX: Remove Helvetica from our font stack (#11876) * UX: Small fix for Chrome focus style on replies button (#11996) * Move category dropdown changes to desktop only (#11995) * UX: Show caret icon on user notification dropdown (#11991) * DEV: Cleanup detection of user summary route for header collapsing (#11985) * DEV: Allows widgets to extend post-controls (#11897) * FIX: process new invites when existing users are already group members (#11971) * UX: don't display tag notification menu on category page. (#11989) * DEV: use `request_path` instead of `script_name` to find static file requests. (#11986) * UX: Fix reply where modal layout (#11990) * FIX: The invite success email translation variable was renamed (#11988) * FIX: Select earliest post when aggregating posts in a topic for search. * DEV: Add description and logo to api docs (#11984) * FEATURE: Allow durations < 1 hour and < 1 day for topic timers where duration is specified (auto delete replies, close based on last post) (#11961) * DOCS: Updates docs for OSX dev with fontforge (#11956) * Build(deps): Bump redis-namespace from 1.8.0 to 1.8.1 (#11982) * Build(deps): Bump css_parser from 1.8.0 to 1.9.0 (#11983) * Build(deps): Bump bootsnap from 1.7.0 to 1.7.1 (#11981) * UX: Clarify user rejection modal (#11967) * DEV: adds below-suggested-topics plugin outlet (#11980) * UX: Fix & clarify bulk notification change modal (#11969) * REFACTOR: Remove d-button block helpers (#11970) * UX: Use bright color for primary button hover on dark schemes (#11979) * FIX: Don't cancel filtering on second "n replies" tap (#11975) * UX: Adjust focus styles for topic post menu, composer cancel (#11977) * DEV: Allow autospec to run full test suite in parallel (#11976) * UX: popup menu buttons need focus style (#11962) * FIX: Improve SCSS handling in components (#11963) * DEV: Add more @ember modules for plugins compatibility with Ember CLI (#11972) * UX: add a confirmation modal to "Remove All Tags" action (#11973) * FIX: process new invites when existing users are already group members (#11971) * FIX: Save updated remote theme, only update enabled themes/components (#11960) * DEV: Use @action decorator (#11955) * FIX: Composer upload icon regression because of WEBP (#11959) * UX: remove unneeded margin from user stream (#11964) * UX: fix button alignment on log-in required page (#11965) * UX: ensure category breadcrumbs have consistent height (#11966) * FEATURE: New way to dismiss new topics (#11927) * document api endpoints (#11958) * DEV: Move logic for rate limiting user second factor to one place (#11941) * DEV: Move logic for rate limiting user second factor to one place (#11941) * DEV: Migrate to Ember CLI (#11932) * FIX: Don't create email invites when SSO is on or local logins are off (#11951) * FIX: Don't invite new users via group with SSO on or local logins off (#11950) * DEV: Remove bulk group admin endpoints (#11949) * UX: Uniformize styles for focus states (#11933) * UX: Always show confirmation dialog when converting themes/components (#11953) * FIX: In FastImage 2.2.2 an error is raised with a `nil` path (#11954) * DEV: Remove `group-members-dropdown` (#11948) * DEV: Remove `update_mail_receiver` and `deprecated_api_usage` (#11947) * FEATURE: check `blocked_onebox_domains` setting for inline oneboxes (#11944) * FIX: Include extra SCSS in child theme (#11952) * FIX: Restore support for pasting multiple PM recipients (#11945) * DEV: apply cdn headers to public javascripts endpoint too. (#11942) * Build(deps): Bump i18n from 1.8.7 to 1.8.8 (#11940) * DEV: Move vscode config files to `.vscode-sample` directory (#11943) * FEATURE: Improve group settings and members management (#11878) * FIX: Avoid pulling hotlinked images of post that have been deleted. (#11913) * FIX: Refresh category order after save (#11936) * FEATURE: Topic timer UI revamp (#11912) * SECURITY: Rate limit MFA by login if possible (#11938) * SECURITY: Rate limit MFA by login if possible (#11938) * UX: Remove border from certificate due to iframe (#11935) * Build(deps): Bump rubocop-rspec from 2.1.0 to 2.2.0 (#11939) * DEV: refresh all CDN endpoint URLs except the S3 uploads & assets. (#11937) * DEV: Update icon structure in bootbox buttons (#11925) * Update a couple buttons to use correct markup (#11926) * DEV: Refactor theme SCSS compilation (#11919) * PERF: Avoid lookbehinds when replacing links in imported emails (#11931) * FIX: ensures rects is present before using it (#11930) * DEV: Remove deprecated bootsnap options (#11929) * Update translations (#11928) * Fix i18n issues reported on Crowdin (#11747) * DEV: enable CORS to all CDN get requests from workbox. (#11896) * FIX: Show bookmark name in quick access hover (#11924) * FIX: Make discobot certificate faster/non blocking (#11344) * Build(deps): Bump rubocop from 1.9.0 to 1.9.1 * Build(deps-dev): Bump webmock from 3.11.1 to 3.11.2 * Build(deps): Bump excon from 0.78.1 to 0.79.0 * Build(deps): Bump bootsnap from 1.6.0 to 1.7.0 * DEV: New option to always destroy posts. (#11898) * FIX: Skip shared drafts logic if disabled (#11918) * DEV: Performance fixes to filtered replies (#11916) * FIX: Emoji search/autocomplete should respect selected skin tone (#11917) * FIX: Existing shared drafts should be accessible (#11915) * DEV: Migrate more tests to our Ember CLI format. (#11899) * DEV: {{user-selector}} replacement (#11726) * DEV: Update msgpack to 1.4.2. * Apply suggestions from code review * Add autofocus to the change ownership modal * FEATURE: Add daily job to check for new features * FIX: Return the CDN's URL when using the site's small logo as the system's user avatar. * left align popup-menu button text * FIX: Stop trying to set values on destroyed bookmark component (#11909) * DEV: Add time shortcut picker component and libs and refactor bookmark modal controller into component which uses time shortcut picker (#11802) * Build(deps): Bump rack-mini-profiler from 2.3.0 to 2.3.1 (#11906) * Build(deps): Bump rspec-mocks from 3.10.1 to 3.10.2 (#11907) * Build(deps): Bump rspec-support from 3.10.1 to 3.10.2 (#11908) * Build(deps): Bump fastimage from 2.2.1 to 2.2.2 (#11905) * UX: Allow some overflow in composer preview (#11902) * Improve invite to forum modal description (#11903) * remove hidden area in flagged removed post msg (#11901) * document user endpoints (#11894) * Quite a few Ember-CLI / Upgrade related changes (#11867) * Build(deps): Bump rubocop from 1.8.1 to 1.9.0 (#11892) * Build(deps): Bump oj from 3.11.1 to 3.11.2 (#11891) * Build(deps): Bump omniauth-oauth from 1.1.0 to 1.2.0 (#11890) * DEV: apply allow origin response header for CDN requests. (#11893) * FIX: IMAP allow unknown senders to reply to group topics via email (#11877) * Build(deps-dev): Bump rswag-specs from 2.3.1 to 2.3.2 (#11889) * DEV: Add security_last_changed_at and security_last_changed_reason to uploads (#11860) * UX: fix bulk select top positioning (#11888) * fix topic entrance button layout (#11887) * DEV: Remove tabindex property from selected name template (#11882) * FIX: Invisible is not the opposite of visible (#11881) * Include accessibility commits when generating release notes (#11884) * Version bump to v2.7.0.beta3 * FIX: Approving a user was not sending an email (#11883) * FEATURE: add contact emails metadata entry to optional plugin meta (#11879) * FIX: Allow a single invite per email address (#11855) * DEV: Remove dead code (`latestTopicOnly`) (#11833) * FIX: Translated button title didn't work (#11872) * ensure topic footer buttons are the same height (#11875) * Fix post edit icon color (#11873) * Build(deps): Bump puma from 5.1.1 to 5.2.0 (#11869) * Build(deps): Bump bootsnap from 1.5.1 to 1.6.0 (#11868) * Build(deps): Bump msgpack from 1.3.3 to 1.4.1 (#11870) * UX: make desktop category page topics match mobile (#11857) * DEV: Add png packages to GitHub CI (#11871) * REFACTOR: Convert buttons to flexbox (#11785) * DEV: Replace 'processed' column on notifications with new table (#11864) * DEV: experiments parallel prettier (#11854) * DEV: Update Gemfile.lock for arm64-darwin-20 (#11865) * FIX: Do not cache translated trust level names in site settings (#11863) * FIX: external auth account creation in iOS app (#11859) * DEV: prettier 2.2.1 (#11862) * FIX: Ensure 'tr' is called on a string. (#11853) * DEV: Use $upstream for logging performance headers in NGINX (#11856) * FIX: Can't remove selection from group chooser in tag group settings (#11822) * FIX: Restore user summary's delete button behavior. (#11844) * A11Y: hamburger menu aria-{expanded,haspopup} and user title (#11852) * FIX: polls extending in post reply histories (#11837) * FIX: move post_search_data migration into onceoff job (#11851) * UX: Small tweak to category delete warning (#11799) * DEV: Styleguide fixes (#11836) * DEV: More API Doc improvements (#11849) * A11Y: correctly sets role=dialog and aria-labelledby for d-modals (#11850) * Update translations (#11848) * DEV: Add test (#11847) * FEATURE: Add extra response headers to nginx log format (#11840) * PERF: batch expensive post-migration (#11845) * FIX: Support version in new feature payload (#11841) * FIX: "Customize text" link was broken on badges admin page (#11842) * FIX: only de-prioritise exact matches in mentions (#11843) * FIX: un-prioritise inactive users in user search (#11838) * Build(deps): Bump mini_suffix from 0.3.0 to 0.3.2 (#11839) * UX: respect `email_editable` site setting in user activation page. (#11835) * FIX: Destroy associated user api keys when making a user anonymous. (#11760) * FIX: Cleanup authentication_data cookie after login (#11834) * PERF: Migrate search data after locale rename (#11831) * FIX: Dismissing unread topics with a tag (#11832) * DEV: followup to 8edd2b38cb to use existing spec (#11830) * A11Y: uses role=button and supports ariaPressed for tapTile (#11827) * FIX: ensures timeline_lookup includes last tuple (#11829) * FIX: reindex_search job should work on model with no search data (#11819) * FIX: remove rendering UX from bookmark model (#11765) * Build(deps): Bump rubocop-ast from 1.4.0 to 1.4.1 (#11823) * Build(deps): Bump oj from 3.11.0 to 3.11.1 (#11824) * Build(deps): Bump ast from 2.4.1 to 2.4.2 (#11825) * Build(deps-dev): Bump shoulda-matchers from 4.5.0 to 4.5.1 (#11826) * edit button fix, follow up to 6f13d2b (#11821) * UX: Simplify narrative bot bio (#11820) * A11Y: Structure user menu as tabs. (#11789) * FIX: Cannot find currentThemeColorSchemeId when no themeId is present (#11817) * FIX: Check the confirmation result before deleting SSO record (#11816) * FIX: Remove scheduled DND timings when schedule is disabed (#11814) * A11Y: makes post-edits-indicator a button instead of a link (#11811) * FIX: It seems sometimes shims are evaluated by older JS engines (#11813) * FEATURE: Add new features section in admin dashboard (#11731) * UX: Makes the theme editor display placeholder correctly for RTL languages (#11800) * DEV: eslint rules should be defined in eslint-config-discourse (#11812) * Build(deps): Bump sidekiq from 6.1.2 to 6.1.3 (#11794) * Build(deps): Bump logster from 2.9.4 to 2.9.5 (#11796) * UX: show onebox error preview image as favicon (#11810) * FIX: print raw html of logo image to skip unwanted html encoding (#11805) * A11Y: improves search-in-options filter accessibility (#11809) * A11y: makes advanced search and html heading (#11808) * UX: specify width and height for onebox preview error image (#11807) * FIX: Update categories without full page refresh (#11793) * A11Y: associate search controls with their labels (#11806) * A11Y: Add aria-label to input clear button (#11803) * A11Y: Update selected name role to button (#11804) * DEV: Updates to api docs schema validation (#11801) * DEV: Add schema checking to api doc testing (#11721) * UX: warn about messages to be orphaned while deleting a group. (#11727) * FIX: broken URL when username contains subfolder. (#11786) * Build(deps-dev): Bump bullet from 6.1.2 to 6.1.3 (#11798) * Build(deps): Bump css_parser from 1.7.1 to 1.8.0 (#11797) * Build(deps-dev): Bump test-prof from 0.12.2 to 1.0.0 (#11795) * DEV: Sync up more Ember CLI features (#11790) * FIX: Share popup is positioned incorrectly in RTL locales (#11792) * Version bump to v2.7.0.beta2 * Version bump to v2.6.1 * UX: Make moment.js produce Arabic numerals instead of Hindi numerals in the Arabic locale (#11788) * FIX: Embedded comments should only return regular posts (#11773) * FIX: Show the fallback locale warning when both settings are enabled. (#11787) * DEV: Remove an unused i18n string (#11783) * FIX: Change default for IncomingEmail#created_via to 0 (unknown) and make NOT NULL (#11782) * Build(deps): Bump oauth from 0.5.4 to 0.5.5 * DEV: Remove Dangerfile * It's 2021 🥳 * DEV: IMAP debugging improvements (#11784) * Build(deps): Bump concurrent-ruby from 1.1.7 to 1.1.8 (#11776) * Build(deps): Bump thor from 1.0.1 to 1.1.0 (#11778) * Update translations (#11779) * UX: Fallback locale warning improvements. (#11775) * FIX: I18n couldn't find translations. (#11774) * FEATURE: Add English (UK) as locale (#11768) * FIX: Allow max_redemptions_limit to be 1 (#11771) * A11Y: Improve the quick access menu accessibility. (#11757) * A11y: Accessible user menu icons (#11763) * FEATURE: Create notification schedule to automatically set do not disturb time (#11665) * DEV: makes user-stream an unordered list (#11770) * DEV: implements combobox roles for select-kit (#11769) * FIX: Polish lang label (#11767) * FIX: Don't try to focus on a missing element (#11766) * DEV: Use absolute path for popper.js sourcemap (#11762) * Update translations (#11764) * DEV: Add DiscourseEvent before post changes are published (#11759) * FIX: Support for single use invite links (#11719) * FIX: Always show overriden colors filter (#11755) * FIX: remove rendering UX from ember models (#11724) * DEV: Add created_via column to IncomingEmail (#11751) * Build(deps): Bump ruby2_keywords from 0.0.2 to 0.0.4 * FIX: Unescape emoji when pg headlines is used for search result blurb. * FIX: Do not email group user with user_private_message notification (#11754) * FIX: Make sure login required skipped for confirm new email routes (#11748) * FIX: currentUser was missing `appEvents` (#11758) * A11Y: Add aria-labels to search inputs and search button (#11752) * FEATURE: Give user menu icons alt attributes (#11750) * Update translations (#11756) * FIX: Add Retry-Header to rate limited responses (#11736) * DEV: Change Topic Timer from enqueue_at scheduled jobs to incrementally executed jobs (#11698) * FIX: Do not test bookmark rate limiter message (#11749) * FIX: Do not process pop3 mails > 1 week old (#11740) * FIX: Add bookmark limits (#11725) * Sync up master and Ember CLI branches again (#11746) * FIX: Check for user presence before granting badge (#11745) * UX: Use uniform style for tag counts (#11743) * UX: Text customization for different languages. (#11729) * FIX: Allow users to opt-out of using the site's small logo as the system user avatar. (#11744) * DEV: Rename Knowledge Explorer to Docs (#11716) * FEATURE: support DISCOURSE_SMTP_FORCE_TLS option (#11733) * UX: Show a warning on the category edit page when category style is none and colors are disabled. (#11742) * DEV: Add a note to S3 migration task (#11738) * DEV: adds support for lang attribute in select-kit (#11741) * FEATURE: Replace single dash arrows when the typographer is enabled. (#11730) * FIX: acceptance/bookmarks test date issue (#11739) * FIX: Make sure current user timezone is used for bookmark reminders from post dates (#11722) * Build(deps): Bump loofah from 2.8.0 to 2.9.0 (#11737) * FIX: remove migrate_from_s3 task that silently corrupts data (#11703) * DEV: add specs for Vanilla import script improvements (#11712) * FIX: TopicTrackingState was initialized after Site (#11732) * More backwards compatible changes to sync with ember-cli-test (#11718) * FIX: url:refresh triggered when query params change * FIX: Stop incorrect emailing of group email from PostAlerter (#11723) * UX: Stop attempts to convert the default theme to a component by removing button * FIX: Prevent users from converting the default theme to a component * FIX: IMAP post alerter race condition and code improvements (#11711) * DEV: Document get user by external_id api endpoint (#11717) * UX: Ellipsis hamburger menu link text when overflowing (#11715) * FEATURE: reason to reject user signup (#11700) * Build(deps-dev): Bump listen from 3.4.0 to 3.4.1 (#11720) * Improvements to phpBB3 import script (#10999) * FIX: Render fancy title correctly in composer (#11714) * FIX: Render topic fancy title in review queue (#11713) * Sync up master with Ember CLI branch where possible (#11707) * FIX: Make category change work with shared drafts (#11705) * FIX: prevents debouncing and query to override each other (#11704) * Build(deps): Bump oj from 3.10.18 to 3.11.0 (#11710) * FEATURE: IMAP detect spammed email and delete associated Discourse topic (#11654) * Build(deps): Bump docile from 1.3.4 to 1.3.5 (#11708) * Build(deps-dev): Bump webmock from 3.11.0 to 3.11.1 (#11709) * FEATURE: Log when a group is deleted. (#11706) * Improve Vanilla import script. (#11701) * FIX: Use ImageMagick to detect animated images (#11702) * FIX: Safari iOS page title and url regression when sharing (#11699) * FIX: Users can remove themselves from a PM even if they can still access it through a group. (#11693) * DEV: pass the current category to discovery-list-container-top on tag pages (#11690) * DEV: Split toggle topic close job (#11679) * Build(deps): Bump sanitize from 5.2.2 to 5.2.3 (#11697) * Build(deps-dev): Bump shoulda-matchers from 4.4.1 to 4.5.0 (#11696) * Build(deps): Bump faraday-net_http from 1.0.0 to 1.0.1 (#11695) * FIX: Use the same time moment for related Redis calls in rate limiter (#11692) * FIX: sliding window end time in rate limiter (#11691) * FIX: Make category slugs lowercase (#11277) * REFACTOR: Sync up master with changes for Ember-CLI (#11671) * FIX: Do not downsize or crop GIF images (#10989) * Update translations (#11689) * FEATURE: Add before-groups-index-container outlet (#11681) * Build(deps): Bump omniauth-oauth2 from 1.7.0 to 1.7.1 (#11687) * Build(deps): Bump uniform_notifier from 1.13.1 to 1.13.2 (#11684) * Build(deps): Bump rubocop from 1.8.0 to 1.8.1 (#11685) * Build(deps-dev): Bump mock_redis from 0.27.2 to 0.27.3 (#11686) * FIX: Discobot exception when site_contact_username is promoted (#11666) * DEV: TopicTrackingState calls should happen in the background (#11682) * FIX: Publish DND ends_at updates in httpdate format (#11683) * FIX: Hiding a post should not trigger the duplicate check (#11680) * UX: add space between links and text in labels (#11674) * FIX: Show unassigned component warning when installing multiple components successively (#11675) * FIX: Reset theme install modal state on close (#11670) * FIX: hidden tags returned in extras of tags index json * FIX: always truncate uncomplete emojis in excerpts (#11678) * FIX: broken emojis in topic excerpt (#11667) * Build(deps-dev): Bump simplecov from 0.21.1 to 0.21.2 (#11676) * Build(deps): Bump uniform_notifier from 1.13.0 to 1.13.1 (#11677) * FIX: Do not include URL query in auto-generated CSP header (#11673) * DEV: Add i18n fallback specs (#11669) * DEV: Improvements to Discourse Merger script (#11660) * FEATURE: allow disabling self-deletions of posts (#11668) * FEATURE: Use the site's small logo as the system user's avatar. (#11661) * UI: remove extra word from approval_not_required client string (#11627) * FIX: don't error topic RSS when posts are deleted (#11641) * Build(deps-dev): Bump mock_redis from 0.27.0 to 0.27.2 (#11664) * Build(deps): Bump unicode-display_width from 1.7.0 to 2.0.0 (#11662) * FIX: Don't count HTML comments when calculating reply length. (#11658) * FEATURE: Warn admins when installing a theme that's already installed (#11651) * FEATURE: Send notification emails when users leave do not disturb mode (#11643) * FIX: Tab key should autocomplete like enter key does (#11659) * UX: Improve color scheme choices in user prefs (#11656) * Build(deps-dev): Bump minitest from 5.14.2 to 5.14.3 (#11649) * FIX: recurring was not working for some cases (eg: hours and unit > 1) (#11657) * Build(deps): Bump nokogiri from 1.11.0 to 1.11.1 (#11647) * Minor copyedit on flag stat popup (#11655) * Build(deps): Bump onebox from 2.2.1 to 2.2.2 (#11653) * FIX: Fix bg color of header on published page (#11652) * FIX: Hide notification count on document title in Do Not Disturb (#11646) * UX: Refactor topic list nav (#11285) * DEV: the referenced commit bc97… was rebased into 445d… (#11626) * DEV: Bump sanitize from 5.2.1 to 5.2.2 (#11648) * DEV: Bump mock_redis from 0.26.0 to 0.27.0 (#11650) * UX: Autocomplete suggestions should be unselected by default (#11637) * FEATURE: Disable post deletions by setting max_post_deletions to zero. (#11645) * UX: Allow quick access profile content to scroll (#11639) * FEATURE: Replace arrows when the markdown typographer is enabled. (#11638) * UX: allows to copy/paste a list of | separated values in sk (#11642) * DEV: Cleanup variables/mixins SCSS imports (#11618) * Build(deps): Bump nokogiri from 1.10.10 to 1.11.0 (#11629) * Build(deps): Bump i18n from 1.8.5 to 1.8.7 (#11628) * UX: transition to edit URL when adding a category (#11634) * FIX: Validate type when picking an avatar. (#11602) * Update translations (#11635) * FIX: Group SMTP email improvements (#11633) * Update minimum required software versions (#11617) * remove anon download attachment warning (#11632) * Update server.en.yml -- minor copyedit (#11631) * Build(deps-dev): Bump simplecov from 0.21.0 to 0.21.1 (#11630) * FIX: Inline Onebox should use encoding from Content-Type header when present (#11625) * Revert "Build(deps): Bump i18n from 1.8.5 to 1.8.6 (#11621)" (#11624) * Build(deps): Bump mini_sql from 0.3 to 1.0.1 (#11616) * Build(deps): Bump faraday from 1.2.0 to 1.3.0 (#11614) * Build(deps-dev): Bump listen from 3.3.3 to 3.4.0 (#11615) * Build(deps): Bump rubocop-ast from 1.3.0 to 1.4.0 (#11620) * DEV: Lint MessageFormat strings to prevent usage of "one {foo 1 bar}" (#11608) * Build(deps): Bump i18n from 1.8.5 to 1.8.6 (#11621) * Build(deps-dev): Bump simplecov from 0.20.0 to 0.21.0 (#11619) * Build(deps): Bump ruby-progressbar from 1.10.1 to 1.11.0 (#11613) * FIX: prevents autocompoete of username to appear on right (#11623) * FIX: ensures defined expired_in is passed from write to write_entry (#11622) * DEV: uses popper for autocomplete (#11201) * FIX: Correctly set scroll position when viewing a tag's topic list. (#11612) * UX: Move do not disturb to profile panel (#11592) * UX: text overflow user-{primary,secondary}-navigation (#11604) * DEV: Use indexes when importing SCSS from a folder (#11591) * PERF: Improve cook_url performance for topic thumbnails (#11609) * PERF: optimize homepage and topic performance (#11607) * FIX: increase inventory lag for s3 to 2 days (#11606) * DEV: Lint MessageFormat strings to prevent usage of "one {1 foo}" (#11605) * FIX: ensures recurring works when setting a start date in future (#11587) * Update translations (#11601) * FIX: S3 CDN warning was showing wrong warning message (#11603) * PERF: add indexes to speed up profile pages (#11598) * DEV: add support for macOS in bundler (#11600) * DEV: added platform support to bundler (#11599) * DEV: Bump crack from 0.4.4 to 0.4.5 (#11579) * DEV: update rack-mini-profiler (#11597) * Build(deps): Bump unicorn from 5.7.0 to 5.8.0 (#11576) * Build(deps): Bump rubocop from 1.6.1 to 1.7.0 (#11594) * Build(deps): Bump regexp_parser from 2.0.1 to 2.0.3 (#11596) * Build(deps): Bump chunky_png from 1.3.15 to 1.4.0 (#11593) * Build(deps-dev): Bump binding_of_caller from 0.8.0 to 1.0.0 (#11595) * DEV: Fix precompile SCSS specs (#11590) * DEV: Deprecate SCSS variable overrides in plugins (#11589) * Build(deps): Bump debug_inspector from 0.0.3 to 1.0.0 (#11588) * Build(deps): Bump oj from 3.10.17 to 3.10.18 (#11582) * Build(deps): Bump rqrcode from 1.1.2 to 1.2.0 (#11586) * Build(deps): Bump rspec-expectations from 3.10.0 to 3.10.1 (#11580) * Build(deps-dev): Bump rspec-rails from 4.0.1 to 4.0.2 (#11583) * Build(deps): Bump rspec-core from 3.10.0 to 3.10.1 (#11585) * FEATURE: Add dash warning for using S3 without CDN (#11561) * enhance TL2 congratulations PM (#11577) * Bump onebox gem to 2.2.1 * Bump onebox gem to 2.2.1 (#11575) * Build(deps-dev): Bump mocha from 1.11.2 to 1.12.0 (#11573) * Build(deps): Bump faraday from 1.1.0 to 1.2.0 (#11572) * Build(deps): Bump rack-mini-profiler from 2.2.0 to 2.2.1 (#11571) * FIX: The `title` attribute of the diversity scales was incorrect (#11570) * Build(deps): Bump json from 2.4.1 to 2.5.1 (#11564) * Bump onebox gem to 2.2.0 (#11568) * FEATURE: Introduce skip_auto_delete_reply_likes site setting (#11562) * FIX: user destroyer spec (#11567) * FIX: when the user is deleted anonymise category post (#11551) * FIX: Show all topic statuses on full page search. * DEV: Improve specs to use objects that have already been fabricated. * FIX: use Redis replica host and port (#11566) * DEV: Bump docile to correct Ruby 2.7 delegation issues * FIX: allow for final sigma in suggested usernames (#11540) * FEATURE: explicitly ban outlier traffic sources in robots.txt (#11553) * simplify copy slightly for new post / topic panel (#11565) * DEV: Add "before-manage-group-tags" plugin outlet (#11560) * FIX: Don't enqueue imported users when there're multiple custom fields. (#11559) * FIX: Disallow zero-width and other non-printing characters in tags (#11546) * FIX: handle badge grant for deleted badge (#11558) * Update translations (#11557) * Revert "FIX: use Redis replica host and port (#11543)" (#11552) * FIX: use Redis replica host and port (#11543) * FIX: Search topic title headline being truncated. * FIX: Missing PG topic title headline when pg headlines is enabled. * FEATURE: special shortcut for searching for own posts (#11541) * DEV: Remove with_deleted workarounds for old Rails version (#11550) * FEATURE: Adds support for the WEBP image format (#11532) * Build(deps): Bump rake from 13.0.2 to 13.0.3 (#11549) * Build(deps): Bump regexp_parser from 2.0.0 to 2.0.1 (#11548) * Build(deps): Bump ffi from 1.14.1 to 1.14.2 (#11547) * FIX: Autoplay videos must always be muted (#11533) * FIX: Autoplay videos must always be muted (#11533) * FIX: Show restricted tags in bulk select (#11531) * DEV: require fileutils gem on boot (#11542) * FIX: Re-run remove flag and queued post web hook migrations. * Build(deps): Bump rake from 13.0.1 to 13.0.2 * Build(deps): Bump docile from 1.3.2 to 1.3.3 * Build(deps): Bump rubocop-rspec from 2.0.1 to 2.1.0 * DEV: Bump webmock from 3.10.0 to 3.11.0 (#11538) * DEV: Bump ffi from 1.13.1 to 1.14.1 (#11539) * DEV: Move rerender on 'do not disturb' change to mixin (#11529) * FEATURE: Do not disturb (#11484) * FIX: Make find_by_slug_path work with default slugs (#11501) * Revert "Revert "DEV: Wrap `Ember.run.debounce`. (#11352)"" (#11509) * FEATURE: allow plugins to show custom HTML via renderTags (#11520) * Build(deps): Bump json from 2.4.0 to 2.4.1 (#11521) * UX: Move reply filter button on mobile (#11524) * UX: adjust default menu width (#11526) * FEATURE: Enable inline onebox for all domains by default (#11523) * Build(deps): Bump tzinfo from 1.2.8 to 1.2.9 (#11522) * FEATURE: allow plugins to preload custom data on search (#11518) * DEV: Adds raw plugin outlets to topic list headers (#11519) * FEATURE: Include post number in inline Onebox titles (#11515) * DEV: Upgrade oj gem (#11516) * FIX: Clear in-process theme cache after clearing DB cache (#11517) * FIX: missing default notification level on group creation (#11512) * Have doubled the size of the Watched Words Per Action Limit * FIX: Scroll to the last position when navigating back to the tag topic list. (#11496) * DEV: More events for filtered replies (#11511) * UX: Blend header colors (#11422) * DEV: no need to iterate through each tag for rendering (#11508) * Build(deps): Bump rails_failover from 0.6.4 to 0.6.5 (#11506) * FEATURE: Allow plugins to register demon processes (#11493) * FIX: Bypass `AnonymousCache` for `/srv/status` route. (#11491) * DEV: Trigger events when filtering replies (#11498) * DEV: Bump chunky_png from 1.3.14 to 1.3.15 (#11499) * UX: Don't wrap menu text under icon (#11502) * UX: Add title attribute to watched word input (#11505) * UX: Make theme install modal more responsive (#11503) * UX: When input placeholders are too long, truncate with ellipsis (#11504) * DEV: Bump json from 2.3.1 to 2.4.0 (#11500) * FIX: no email when the category is muted and mailing list is on (#11490) * UX: remove timeline from print view, fix header in crawler view (#11489) * FEATURE: Allow IP anonymization via admin user controller API (#11497) * DEV: Add site header organism to styleguide (#11495) * DEV: Fix JS errors in styleguide (#11494) * UX: Tweaks to filtered replies (#11485) * Update translations (#11492) * FIX: Do not forbid tags in /new-topic on mobile (#11486) * FIX: clear WordWatcher cache after topic_spec (#11488) * UX: Show required indication consistently on signup (#11477) * FIX: Show quote replies when filtering (#11483) * FIX: Show correct avatar in post stream bar (#11481) * FIX: Users without shared drafts access can still have access to the category. (#11476) * FEATURE: Automatically disable slow mode. (#11461) * FEATURE: Allow category group moderators to list/unlist topics (#11470) * FIX: Make Oneboxer#apply insert block Oneboxes correctly (#11449) * Build(deps): Bump omniauth-google-oauth2 from 0.8.0 to 0.8.1 (#11479) * DEV: set digest_attempted_at during migrations (#11369) * DEV: Bump bullet from 6.1.0 to 6.1.2 (#11478) * FIX: show retina avatars on Chrome (#11480) * Revert "UX: When requiring user fields at signup, also mark default fields as required (#11356)" (#11475) * FIX: Posts with Staff Colors were excluded from the group activity * DEV: Remove jquery.ba-resize (#11457) * Build(deps): Bump rails_failover from 0.6.3 to 0.6.4 (#11453) * FIX: Show 'New' filter when 'none' subcategory set (#11474) * FIX: Normalize links by converting them to lower case * Build(deps): Bump rubocop from 1.6.0 to 1.6.1 * FIX: Build correct topic list filter (#11473) * FIX: Logout redirect should only be `/login` for login_required sites (#11466) * DEV: Bump puma from 5.1.0 to 5.1.1 (#11469) * bulk select posts popup needs a higher z-index (#11472) * FIX: use sql_fragment instead of sanitize_sql_array (#11460) * Revert "DEV: Wrap `Ember.run.debounce`. (#11352)" (#11465) * DEV: Run post stream scroll events less often (#11463) * DEV: Fix position of filtered replies notice on DiscourseHub (#11462) * DEV: Expose silencer customization options to plugins (#11456) * FEATURE: Optional filtered replies view (#11387) * FIX: `notify_file_change` was outputting a command to vim * Build(deps): Bump rubocop from 1.5.2 to 1.6.0 * DEV: Wrap `Ember.run.debounce`. (#11352) * UX: Fix unreachable buttons on menus in Safari iOS (#11458) * FIX: correct tracking when mute all categories (#11441) * PERF: run user merging task in a background job. (#10961) * DEV: comment out flaky test * UX: Add full date title to fps-result date (#11455) * FEATURE: Add likes, flags to user data export (#11439) * FIX: Don't raise an error if a custom emoji image was deleted * FIX: Only block local edits for git-sourced themes (#11450) * UI: Category Onebox styling changes (#11448) * FIX: Prevent error when primary email is missing (#11446) * FIX: Missing translation (#11444) * FIX: Only cache reports with exceptions for 1 minute (#11447) * FIX: Prevent usage of `composer-action-undefined` CSS class (#11445) * FIX: Replace Vimeo iframes with a link in emails (#11443) * FIX: Avoid clock skew issues when logging in with Google (#11442) * FEATURE: Increase maximum watched word length from 50 to 100 chars (#11437) * FEATURE: Support for GitHub Codespaces development (#11440) * FIX: Allow for cateogry edit routes of unknown depth (#11426) * FIX: Remove custom 'error' action on build-category-route/discovery (#11425) * FEATURE: Link to text customization when editing system badges (#11345) * DEV: Remove duplicate (and deprecated) SK option (#11435) * FIX: Actually error when topic timer time is in the past (#11434) * FIX: removes extra slashes from URL (#11433) * Update translations (#11429) * FIX: Generate correct prev and next topics page URL (#11431) * Revert "DEV: no need to iterate through each tag for rendering" (#11432) * DEV: no need to iterate through each tag for rendering (#11428) * DEV: lint file * UX: makes sk components full width on users admin page (#11413) * FIX: Correct casing of whitelisted SVG elements (#11094) * FIX: Restore dismissing the first notification (#10433) * DEV: Always enqueue sidekiq jobs after database transaction commit (#11293) * DEV: Update `DB.after_commit` to be compatible with 'real' transactions (#11294) * FIX: Local dates showed incorrect timezones with extra whitespace (#11408) * FIX: Follow open in new tab site setting for bio links (#11418) * FEATURE: Adds back button to theme editor (#11416) * DEV: Bump listen from 3.3.1 to 3.3.3 (#11379) * DEV: Bump puma from 5.0.4 to 5.1.0 (#11380) * UX: When requiring user fields at signup, also mark default fields as required (#11356) * DEV: Bump mini_scheduler from 0.12.3 to 0.13.0 (#11381) * DEV: Bump rubocop from 1.5.1 to 1.5.2 (#11414) * DEV: Bump excon from 0.78.0 to 0.78.1 (#11415) * Build(deps): Bump onebox from 2.1.8 to 2.1.9 (#11423) * UX: Fix invite checkbox width issue (#11371) * FIX: Stop category 404s from breaking the router (#11424) * FIX: hide user id when hide_email_address_taken (#11417) * DEV: Add header colors to styleguide (#11421) * FIX: Adjust reviewable menu placement on mobile (#11420) * Build(deps): Bump rails_failover from 0.6.2 to 0.6.3 (#11419) * DEV: Use tag renderer in tags filter dropdown (#11378) * DEV: Check github actions weekly with dependabot (#11411) * FIX: Include locale in cache key for not_found_topics (#11406) * FIX: Use CDN for custom emojis (#11401) * FIX: Group#flair_url must be a real URL (#11400) * FEATURE: Add after-topic-list-body plugin-outlet (#11410) * FIX: do not replace smiling_face by slight_smile (#11412) * DEV: update onebox gem (#11409) * FIX: Trigger an event when a post is bookmarked. (#11407) * FEATURE: Reviewed by filter. (#11405) * DEV: setproctitle on demon processes (#11402) * FIX: Stop using duplicate composer button ID (#11404) * DEV: More robust processing of URLs (#11361) * FIX: correct link in the notification about moved post (#11399) * DEV: Make it easier to customize omniauth login complete handler in plugins (#11403) * FIX: Load .js files from plugins in qunit testing env (#11304) * FEATURE: Non-staff users can use shared drafts. (#11329) * Build(deps): Bump rubocop-rspec from 2.0.0 to 2.0.1 (#11398) * Build(deps): Bump memory_profiler from 0.9.14 to 1.0.0 (#11397) * Build(deps): Bump rubocop from 1.5.0 to 1.5.1 (#11396) * FEATURE: silently close topic (#11392) * FEATURE: Allow Category Group Moderators to edit topic titles (#11340) * Update header_primary in shades of blue (#11391) * Fix typo. (#11395) * FIX: on invite redemption only update pending ReviewableUser record (#11394) * FIX: URL encode tag name (#11393) * Build(deps): Bump rubocop from 1.4.2 to 1.5.0 * Build(deps): Bump rubocop-ast from 1.2.0 to 1.3.0 * DEV: Hide 'DEV: Sort imports alphabetically (#11382)' from blame (#11388) * DEV: Sort imports alphabetically (#11382) * FIX: show/hide ignored users preferences (#11386) * Update translations (#11385) * FIX: don't error-index category job when missing category * Version bump to v2.7.0.beta1 * DEV: remove PR numbers from release_note:generate output * Version bump to v2.6.0 * Merge diffs from master * Build(deps-dev): Bump simplecov from 0.19.1 to 0.20.0 * FIX: Ensure directory items appear in a consistent order (#11370) * FEATURE: Add plugin js / plugin test js to bootstrap.json * Build(deps): Bump loofah from 2.7.0 to 2.8.0 * Hide imports commit from blame (#11367) * DEV: Tidy up imports. (#11364) * DEV: Make it easier to customize link attributes in quick access menu (#11365) * FIX: No tags should be set if tag chooser is hidden (#11362) * Revert "FIX: bump nokogumbo to 2.0.3 with patch (#11357)" (#11366) * FIX: bump nokogumbo to 2.0.3 with patch (#11357) * REFACTOR: We can't use Ember.HTMLBars.compile in Ember CLI * Build(deps): Bump regexp_parser from 1.8.2 to 2.0.0 * DEV: Ensures mobile RTL stylesheets are loaded (#11360) * FEATURE: Add users:log_out API key scope (#11359) * PERF: avoid using destroy_all when removing stats (#11358) * FIX: Only use full slugs when compiling category backgrounds. (#11353) * REFACTOR: Remove `.erb` from emoji-picker * Build(deps): Bump rubocop from 1.4.1 to 1.4.2 (#11349) * Build(deps): Bump rails_failover from 0.6.1 to 0.6.2 (#11350) * DEV: watch more test directories (#11346) * FIX: issues with frowning/grinning (#11235) * FIX: Add secure media url to SERVER_SIDE_ONLY list (#11348) * FIX: When quoting an attachment, keep the |attachment in markdown (#11347) * PERF: avoid checking card background and user background when not supplied (#11299) * FEATURE: Onebox local categories (#11311) * FEATURE: Update onebox and add styling for githubfolder onebox (#11313) * UX: Don't show selected posts interface twice on mobile (#11328) * FIX: Rebake theme fields if upload changes (#11341) * Build(deps): Bump rubocop-ast from 1.1.1 to 1.2.0 (#11343) * FIX: hides votes from regular users when poll is staff only (#11342) * Adds discourse-gifs to suggested components (#11339) * Update translations (#11336) * FIX: Suggested Topics was being set inside a computed property * Remove "Alternative Logos" from popular themes list (#11337) * FEATURE: Add user update, anonymize and delete API scopes (#11335) * FIX: Exclude muted results when suggested related topics at random. (#11290) * UX: Add group name to error message (#11333) * FIX: Checkbox value should not leak between themes (#11327) * FIX: correct cdn path (#11324) * FIX: stop including GlobalPath in default context (#11323) * DEV: Skip missing icon warnings in production (#11334) * Build(deps-dev): Bump parallel_tests from 3.3.0 to 3.4.0 (#11331) * Build(deps): Bump rubocop from 1.3.1 to 1.4.1 (#11332) * UX: Slightly adjust onebox alignment (#11326) * FIX: Force string conversions to UTF-8 "bytes" (#11315) * FIX: Tests were using jQuery selectors * FIX: Gracefully handle force pushes for remote themes (#11325) * FIX: use `tag` model instead of tagId property. (#11298) * FIX: Improve email validation error handling for external logins (#11307) * FEATURE: Add 'all subcategories' option in category-selector (#11099) * FIX: correct cdn path (#11324) * FIX: stop including GlobalPath in default context (#11323) * UX: PM title glyph alignment and consistency improvement (#11314) * FIX: Calculate email attachment size limit correctly (#11321) * FIX: Onebox image alignment (#11319) * UX: Do not include current user in group-filtered directory results (#11310) * Build(deps): Bump parallel from 1.20.0 to 1.20.1 (#11316) * FIX: Upload events happened outside of the runloop * FIX: iconList is an array in production (#11308) * FEATURE: Add site setting to restrict ignore feature to trust level (#11297) * FIX: We shouldn't debounce this in testing * FIX: Tests were performing `data[]` queries but without quotes * DEV: allows to check if an icon is in the set (#11303) * UX: Revamp category security tab (#11273) * DEV: Modulize component tests (#11300) * Build(deps): Bump rails_failover from 0.6.0 to 0.6.1 (#11302) * Build(deps): Bump redis from 4.2.4 to 4.2.5 (#11301) * Build(deps): Bump redis from 4.2.2 to 4.2.4 * FIX: Handle uncaught exception (#11263) * UX: update "Rebuild-HTML" icon (#11296) * FIX: There are two elements with a `suspend-reason` class * Version bump to v2.6.0.beta6 (#11288) * FIX: Remove error for PostCreator in a transaction without skip_jobs (#11291) * FEATURE: Search filter for searching all PMs on a site for admin. (#11280) * DEV: Move browser-update.js.erb out of vendored scripts (#11234) * DEV: skip_jobs when seeding topics (#11289) * Version bump to v2.5.5 * DEV: raise an exception when trying to create a post within a transaction (#11287) * DEV: Maintain github_user_info primary key values during migration (#11286) * FIX: Show better error if no bookmarks found from search (#11284) * FIX: Cached badge_count isn't updated after backfilling badges (#11281) * FIX: Modal methods should be wired up in `setupTests` not in module * Onebox improved error handling and support for Instagram Access Tokens (#11253) * FIX: Selected Tag Group permission shouldn’t change during save (#11274) * Revert "Build(deps): Bump redis from 4.2.2 to 4.2.3" (#11279) * DEV: Fix flakey spec in export_user_archive (#11278) * Build(deps): Bump redis from 4.2.2 to 4.2.3 * FIX: add missing translation for 'views' key. (#11276) * FIX: Precompile wizard stylesheet (#11275) * UX: bottom padding for menu panel on iOS notch devices (#11270) * REFACTOR: The Favcount library needs global variables * FIX: In newer embers, it's `triggerKeyEvent` not `keyEvent` * DEV: New plugin-outlet under preferences interface nav (#11266) * UX: Only link the icon for site setting history (#11265) * Move CSS link tags above JS in the head * Optimize assets/images * REFACTOR: Allow us to import `keyEvent` * Update translations (#11264) * UX: handle large email addresses on email skipped and bounced tabs (#11259) * DEV: Use `.sort!` instead of `.sort` for user archive specs (#11260) * PERF: Simplify topic serialization for user summary page (#11236) * FIX: Add dummy themes:update task (#11262) * DEV: Disable flaky test (#11257) * Remove extra padding, follow-up to 8be04ff (#11258) * FIX: do not allow a tag to be synonym of its own (#11246) * DEV: Allow overiding calculation of top offset for card contents base (#11254) * DEV: cap notifications per run at 300 as stated in comment (#11252) * Build(deps): Bump rubocop from 1.3.0 to 1.3.1 (#11249) * Build(deps): Bump webpush from 1.0.0 to 1.1.0 (#11250) * FIX: Use the correct key for the receive_emails scopes (#11248) * FIX: remove post-action when a post is permanently deleted (#11242) * DEV: Remove 'diff local changes' when updating remote themes (#11247) * Build(deps): Bump erubi from 1.9.0 to 1.10.0 * FIX: IndexCategoryForSearch category_id job exception (#11239) * FEATURE: Add an API key scopes for handling incoming email. (#11245) * FIX: Disable auto_update for existent themes (#11244) * PERF: Preload topic thumbnails for all topic lists (#11238) * FEATURE: Add auto update field to themes (#11102) * FIX: save draft when either title or reply is present (#11243) * Build(deps-dev): Bump listen from 3.3.0 to 3.3.1 (#11240) * FIX: Inline avatar style for onebox when embedding secure images (#11229) * FIX: Show read indicator only for group PMs (#11224) * FIX: Disallow editing of remote themes (#11189) * DEV: Introduce `:before_auth` DiscourseEvent (#11233) * REFACTOR: Add support for `currentRouteName` in test helpers * DEV: uses jquery 3.5.1 (#11230) * UX: update the invite button label (#11231) * UX: draft delete button was looking odd on user stream (#11232) * FIX: Store Reviewable's force_review as a boolean. (#11219) * FIX: paste the spreadsheet to the composer (#11163) * Build(deps-dev): Bump webmock from 3.9.5 to 3.10.0 (#11227) * Build(deps): Bump rubocop from 1.2.0 to 1.3.0 (#11226) * FIX: Do not optimize animated images in cooked posts (#11214) * UX: Use appropriate logo on static pages (#11211) * Revert "topic fixup" (#11223) * UX: Layout changes to edit category page (#11222) * DEV: Refactor default new group permissions (#11221) * DEV: Delete en-SG moment-locale (#11220) * FIX: Reset category edit page button state (#11218) * FIX: add a way to cancel initialization of new draft (#11106) * FIX: Use `filters` parameter instead of `filter` for staff action log (#11217) * FIX: Add history icon to svg_sprite list (#11216) * FEATURE: Create revision when bulk moving topics (#10802) * FEATURE: Link site setting titles directly to their change log (#11215) * DEV: Fix lint (#11213) * DEV: Account for below-site-header and above-site-header outlets when positioning timeline and usercards (#10434) * DEV: improve text shown when no invitations have been sent out * FIX: Ensure staff can see /tag/none (#11208) * FIX: Do not optimize uploaded custom emoji (#11203) * FIX: Precompile all plugin and color definition CSS assets (#11210) * FIX: Restore (deprecated) ability to overwrite a property (#11207) * DEV: Ensure DiscourseEvent handlers cleaned up during specs (#11205) * DEV: Skip parallel autospec spec for a single file (#11206) * DEV: Wait for debounced functions * Imports lint * DEV: Use topic property setter * DEV: Don't eagerly find and assign Topic.category * topic fixup * DEV: Don't overwrite computed props in tests * DEV: Remove duplicated code * DEV: Replace a full computed prop with readOnly * Imports * DEV: Replace observers in User model * DEV: Replace the Topic.category observer * DEV: Assign id to button for easier finding via CSS selectors (#11200) * UI: Blur review queue images. (#11187) * UX: add a confirmation dialog for draft deletion (#11198) * UX: add a link to invites on quick access profile panel (#11202) * DEV: Move logout redirect logic to server and add plugin hook (#11199) * DEV: Add plugins client/server translation yml file priority structure (#11194) * FEATURE: Improve errors when title is invalid (#11149) * FEATURE: Implement edit functionality for post notices (#11140) * UX: Increase the hit area of pinned topics on mobile (#11147) * FIX: Improve failover for multisite clusters (#11150) * DEV: fixed capitalization in rate limit message (#11193) * DEV: Update MomentJS and highlightJS * Build(deps-dev): Bump listen from 3.2.1 to 3.3.0 (#11197) * Build(deps): Bump bootsnap from 1.5.0 to 1.5.1 (#11196) * Build(deps): Bump oj from 3.10.15 to 3.10.16 (#11195) * UX: add stock suspension reasons to suspend dialog. (#10990) * FIX: when creating linked topics make sure they belong to same category (#11188) * FIX: hide sso email behind a button click and log views (#11186) * UX: increase limit of custom user fields (#11192) * FIX: Use more specific selector for header (#11185) * REFACTOR: Remove SweetAlert dependency (#11183) * Revert "DEV: Move popups left if application.hbs wrapper is moved by theme" (#11184) * FIX: Show hidden posts to staff members. (#11171) * FIX: Remove duplicate category description (#11178) * Update translations (#11182) * Build(deps-dev): Bump webmock from 3.9.4 to 3.9.5 (#11175) * DEV: Drop github_user_infos table (#11181) * FIX: Renaming and deleting tags (#11169) * FEATURE: Allow /u/by-external to work for all managed authenticators (#11168) * FIX: handle rapid concurrent SSO attempts more gracefully (#11180) * DEV: Migrate Github authentication to ManagedAuthenticator (#11170) * FEATURE: the ability to permanently destroy the private message (#11115) * FIX: Make secure image onebox check more robust (#11179) * reduce min-width for better spacing, follow-up to 1455421 (#11177) * FIX: do not use "max_tags_in_filter_list" setting for showing PM tags (#11146) * FIX: Small copy change in wizard (#11174) * UX: Minor cosmetic fixes to the wizard (#11172) * HACK: Redirect /tags/:tag_id to /tag/:tag_id (#11145) * FIX: Paths with categories and tags were being generated incorrectly (#11167) * UX: Show theme git branch for private repositories (#11166) * UX: Remove label and add danger class to remove draft button (#11165) * DEV: Fix the build. * PERF: Update index for category in a background job. * FIX: global setting needs to be coerced to float (#11162) * UX: truncate long usernames in multi-username notifications (#11153) * UX: Give furigana and other top-overflowing elements a little space (#11154) * UX: truncate long nav items in dropdown menu (#11156) * DEV: update AWS and onebox gems * DEV: Remove stale ignored_columns. (#11160) * Create Dependabot config file * Build(deps): Bump parallel from 1.19.2 to 1.20.0 * Build(deps): Bump onebox from 2.1.4 to 2.1.5 * Build(deps): Bump tzinfo from 1.2.7 to 1.2.8 (#11157) * Improve max_personal_messages_per_day description copy (#11155) * FEATURE: Add Google Universal Analytics v4 as an option (#11123) * Build(deps-dev): Bump rubocop-discourse from 2.4.0 to 2.4.1 (#11151) * DEV: Move popups left if application.hbs wrapper is moved by theme * FIX: Improve errors when invite to topic fails (#11133) * Build(deps): Bump rails_failover from 0.5.8 to 0.5.9 (#11143) * FIX: Do not enable published page if secure media enabled (#11131) * FIX: Correct "no tags" route in tag drop-down (#11142) * DEV: Remove i18n-patches (#11139) * Build(deps-dev): Bump webmock from 3.9.3 to 3.9.4 (#11141) * FIX: trim no-break space in to-markdown (#11130) * DEV: Move more tests into modules (#11119) * Build(deps): Bump rubocop from 1.1.0 to 1.2.0 (#11138) * Build(deps): Bump rails_failover from 0.5.7 to 0.5.8 (#11137) * Build(deps): Bump rubocop-ast from 1.1.0 to 1.1.1 (#11135) * FEATURE: Allow category group moderators to delete topics (#11069) * UX: update topic small action post to add link for new linked topic URL (#11132) * UX: Wider canvas buttons in wizard (#11124) * Build(deps-dev): Bump better_errors from 2.9.0 to 2.9.1 (#11134) * FIX: inconsistency in S3 inventory config (#11112) * PERF: introduce aggressive rate limiting for anonymous (#11129) * DEV: improved text on invite tabs when nothing to show (#11122) * DEV: Bump better_errors from 2.8.3 to 2.9.0 (#11128) * FIX: include header offset relative to window (#11114) * FIX: Update review settings. (#11125) * FIX: limit_topics_per_day should only apply to regular topics (#11127) * FEATURE: change default so log_out_strict is default disabled (#11126) * FIX: secure_media stripping on lightboxes, non-image links (#11121) * UX: sort user badges by Gold > Silver > Bronze. (#11117) * FIX: enqueue PostCreator jobs outside transaction block (#11120) * DEV - Test for an integer padded with spaces (#11111) * UX: when creating linked topic use URL and let onebox work its magic (#11118) * Build(deps-dev): Bump ruby-prof from 1.4.1 to 1.4.2 (#11116) * FIX: group notification level cannot be null (#11109) * FIX: Stop bypassing email checks for invite emails (#11113) * Update translations (#11108) * FIX: Safely skip secure_media steps when it's not enabled (#11110) * FIX: Show error message if user is already silenced or suspended (#10988) * UI: Fix button overlapping longer group names in group card (#11104) * DEV: Remove legacy tag and category routes (#10338) * DEV: Cleanup ignored user logic (#11107) * FIX: Remove 4 month limit on IgnoredUser records (#11105) * FIX: Remove 4 month limit on IgnoredUser records (#11105) * FIX: hide 'category read only banner' in categories list page. (#11072) * FIX: Make all email subject vars available in notification subjects (#11064) * Refactor: tags/show should use d-navigation (#10927) * Revert "FIX: adjust user card position, follow-up to da5841d (#11036)" (#11074) * DEV: Make discourse-subscriptions official (#11103) * DEV - handle malformed `page` param (#11093) * FIX: Make addNavigationBarItem subfolder compatible (#11101) * UX: Fix confusing admin UI for color scheme updates (#11100) * FIX: Disabled action buttons on newly-created category (#11080) * Build(deps): Bump bootsnap from 1.4.9 to 1.5.0 (#11098) * REFACTOR: Remove `window.sinon` and `window.MouseTrap` from tests (#11092) * FIX: Show an example username in Review Settings (#11097) * DEV: Rake task for creating admin should ask for full name if required (#11096) * FEATURE: new setting to create a linked topic on autoclosing mega topics (#11001) * FIX: Ensure oneboxed secure images which are optimized and also lightboxed optimized images are embedded in email (#11061) * UX: update labels to indicate that invite link will be generated (not copied) (#11077) * FIX: Category drop shows undefined (#11090) * DEV: Skip randomly failing tests (#11089) * DEV: De-arrowify tests (#11068) * DEV: Ignore VSCode and DirEnv config files (#11083) * DEV: Move the failures list to the end of output (#11082) * Build(deps-dev): Bump rspec from 3.9.0 to 3.10.0 * Version bump to v2.6.0.beta5 (#11084) * DEV: Track redis calls count in mini profiler (#11088) * Build(deps): Bump rspec-expectations from 3.9.3 to 3.9.4 * Update translations (#11087) * Version bump to v2.5.4 * UI: Slow mode tweaks. (#11081) * DEV: Update rubocop-discourse from 2.3.2 to 2.4.0 (#11079) * Revert "DEV: enable cors to all cdn get requests from workbox. (#10684)" (#11076) * DEV: remove instagram login site settings and auth classes. (#11073) * UX: inform staff users that new users will be auto-approved on invite (#11062) * FEATURE: Batch process topic bulk actions (#10980) * FEATURE: Add a CSS class to the HTML element on background connection error (#10991) * FIX: Use <> link instead of code for discobot backup image link (#11063) * FIX: keep tag filter value when changing the category dropdown. (#11065) * DEV: Bump zeitwerk from 2.4.0 to 2.4.1 (#11071) * minor copyedit (#11075) * FIX: Search filters text was not able to be overridden * REFACTOR: Replace global `find` with `queryAll` * DEV: Move reports to concerns for autoloading (#11066) * FIX: support new Google Analytics id format (#11067) * FEATURE: Allow admins to opt out of chunked encoding (#11060) * FEATURE: Ask user to confirm topic deletion when views exceed a certain amount (#11006) * FIX: strip the trailing slash (/) of cors origins. (#10996) * FIX: The attribute is `discourse-url` not `data-discourse-url` * FIX: Staff can create and edit posts even if a topic is in slow mode. (#11057) * DEV: enable cors to all cdn get requests from workbox. (#10685) * Build(deps): Bump chunky_png from 1.3.13 to 1.3.14 * REFACTOR: Test assertions should be imported. * Add upload-actions plugin outlet * Add routing for category edit screens (#11027) * FIX: show 'quote' button when topic is closed but composer is open (#11054) * FIX: pretty text allow list (#10977) * FIX: Ensure group SMTP and message builder always uses from address for Reply-To when IMAP is enabled (#11037) * FIX: iPad DiscourseHub app layout issues (#11048) * FIX - don't hide tags if user has correct permissions (#11046) * DEV: annotate models (#11047) * FIX: Hide delete button if user cannot delete and/or flag a post (#11045) * Build(deps): Bump puma from 5.0.3 to 5.0.4 * DEV: Better custom field preload error (#11044) * FIX: Capybara diet upgrade, can eat real 🌿 now (#11040) * FEATURE: Include rejected queued posts in the user archive export (#10859) * Update translations (#11042) * Fix typos * Move `click` and `fillIn` to imports * FIX: Show title on results of all poll types (#11041) * Build(deps): Bump rubocop-ast from 1.0.1 to 1.1.0 (#11038) * FIX: converts html to text to use it as title attribute (#11009) * FIX: Prevent slow bookmark first post reminder at query for topic (#11024) * PERF: we don't need to use a huge image to test thumbnails (#11025) * FEATURE: disable default bing throttle (#11035) * FIX: adjust user card position, follow-up to da5841d (#11036) * PERF: apply sprockets patch in a test environment (#11034) * Build(deps): Bump bootsnap from 1.4.8 to 1.4.9 * FIX - don't attempt to optimized animated images (#11031) * FIX: iPad app sticky header positioning (#11029) * Remove more global variables from tests. * UX: prioritize "invite by link" option (for staff users) (#11028) * Build(deps): Bump puma from 5.0.2 to 5.0.3 * FIX: ignore PGP data in emails by MIME type * Use response helper * DEV: Add api docs for invite and group update endpoint (#11019) * DEV: include cors header to public file server in dev environment. (#11007) * FIX: Reset invite when resending it (#11013) * FIX: Prevent slow bookmark first post reminder at query for topic (#11024) * Build(deps-dev): Bump simplecov from 0.19.0 to 0.19.1 * Build(deps): Bump rspec-support from 3.9.3 to 3.9.4 * UX: improve error message for already logged in users (#11020) * Add new `cloneJSON` method for cloning an object * UX: Move category editing/creation to its own page (#10973) * FEATURE - ImageMagick jpeg quality (#11004) * FEATURE: allow category group moderators to edit posts (#11005) * Build(deps): Bump rspec-expectations from 3.9.2 to 3.9.3 * Build(deps): Bump chunky_png from 1.3.12 to 1.3.13 * Build(deps): Bump stackprof from 0.2.15 to 0.2.16 * Build(deps): Bump actionview_precompiler from 0.2.2 to 0.2.3 * FIX: State is leaking between tests, causing flakey failures * FIX: Only include last_posted_at if there's a topic_user object. (#11011) * FIX: Add check for youtube thumbnail (#11000) * REFACTOR: All remaining acceptance tests converted to new format * Build(deps): Bump rubocop-ast from 1.0.0 to 1.0.1 (#11008) * FIX: removes duplicate “ and adds ‘ and ’ (#11010) * FIX: Properly handle quotes and backslash in `Search.set_tsquery_weight_filter` * minor changes in site settings * EDIT: specs and translation updated * FIX: invite users with sufficient trust level * FIX: optimizes sk body position in RTL mode (#10997) * UX: Remove forgot password button from login-preferences (#10998) * Build(deps): Bump rubocop-ast from 0.8.0 to 1.0.0 (#10993) * FEATURE: Add detection of post date to use in bookmark modal (#10981) * DEV: Add more debugging context to onebox generation * FIX: persist secure image width and height if is given (#10994) * FIX: Pass user to Email::Sender to avoid broken reply key for group_smtp email (#10978) * FIX: Restore users#topic_tracking_state route to api session_info scope (#10992) * DEV: Add optional ENV variables for MiniProfiler snapshots transporter (#10985) * FIX: converts “ and ” to " in local dates (#10987) * FIX: attempts to convert french quotes to regular quotes in dates (#10986) * Build(deps): Bump onebox from 2.1.3 to 2.1.4 (#10983) * UX: Fix mobile padding-top on mobile, follow up to da5841d (#10982) * DEV: Add env var to disable ActiveRecord logging in development (#10979) * FEATURE: Add non_automatic group type param to groups index API * DEV: support for relative symlinks for plugins in docker dev (#10955) * FIX: include font import for embedded comments (#10967) * FIX: Remove need for overflow hidden, follow-up to da5841d (#10971) * FEATURE: CTRL-SHIFT-ENTER and SHIFT-Click do not scroll on post (#10965) * Build(deps): Bump rubocop-rspec from 1.44.0 to 1.44.1 (#10972) * FIX: Ensure old uploads can have animated field updated (#10963) * FEATURE: Show a placeholder instead of videos in preview (#10962) * REFACTOR: Convert many more acceptance tests to the new format * REFACTOR: New format for acceptance tests * Update translations (#10970) * Build(deps): Bump rack-mini-profiler from 2.1.0 to 2.2.0 * Build(deps): Bump rubocop-rspec from 1.43.2 to 1.44.0 (#10969) * Build(deps): Bump omniauth-facebook from 7.0.0 to 8.0.0 (#10964) * FIX: Ensure slow mode duration is correctly edited and displayed. (#10945) * FIX: Loading container needs same width as posts, follow up to da5841d (#10966) * REFACTOR: Remove position fixed from the header and use sticky instead (#10781) * FIX: moderators can add/remove group owners (#10960) * Revert "FEATURE: CTRL-SHIFT-ENTER and SHIFT-Click do not scroll on post (#10939)" * FIX: enable "remove tags" button only when tagging is enabled (#10957) * Build(deps): Bump exifr from 1.3.8 to 1.3.9 (#10958) * DEV: Remove preserve_email_structure_when_styling setting (#10956) * DEV: Introduce plugin API to contribute user api key scopes * DEV: Add support for allowed parameters in user api key scopes * REFACTOR: Introduce RouteMatcher class * FEATURE: CTRL-SHIFT-ENTER and SHIFT-Click do not scroll on post (#10939) * FIX: calculate page if page param is not given to TopicView (#10953) * Build(deps): Bump faraday from 1.0.1 to 1.1.0 (#10950) * Build(deps): Bump excon from 0.76.0 to 0.78.0 (#10949) * Build(deps-dev): Bump webmock from 3.9.2 to 3.9.3 (#10951) * FIX: "Sorry an error has occurred" was shown when flagging a post (#10948) * DEV: Fix heisentest (#10946) * Build(deps): Bump oj from 3.10.14 to 3.10.15 (#10947) * Update translations (#10944) * FIX: Only TL4 users and staff should be able to see the disable slow mode button (#10942) * FEATURE: Topic slow mode. (#10904) * FEATURE: Use "no-referrer-when-downgrade" as our embed policy * REFACTOR: Continue to converge on what Ember CLI wants us to do * Fix i18n issues reported on Crowdin (#10925) * PERF: Disable Sidekiq only during database restore (#10857) * DEV: Remove gifsicle dependency (#10357) * PERF: don't ask for new posts while loading new posts (#10937) * FEATURE: when we fail to ship topic timings attempt to retry (#10916) * DEV: generated release notes shouldn't include squashed commits (#10936) * DEV: rewrite _penalize without async (#10935) * FEATURE: WCAG compliant color schemes (#10882) * FEATURE: add penalty options for take action (#10926) * REFACTOR: merges redirectTo implementation into one function (#10919) * REFACTOR: Import `visit` helper rather than using a global variable * Version bump to v2.6.0.beta4 (#10933) * Version bump to v2.5.3 * Build(deps): Bump mini_scheduler from 0.12.2 to 0.12.3 (#10931) * FIX: styleguide is only a parent url and is accessed with /styleguide (#10930) * UX: Increase width & center category reorder input (#10928) * FIX: Check for link target attribute on link clink (#10923) * FIX: Resolve issues running qunit via rake (#10922) * Tag groups can belong to groups (#10854) * FEATURE: Add category slug to body class on tag pages if it is part of a category (#10911) * DEV: Retry when Net::HTTP throws EOFError (#10921) * DEV: Upgrade actions/cache to v2 (#10920) * DEV: load styleguide assets only when needed (#10918) * Simplify theme and color scheme seeding (#10872) * FIX: sort using ruby to avoid N+1 queries (#10915) * FIX: Wizard theme preview when logo is missing (#10914) * Build(deps): Bump rubocop-ast from 0.7.1 to 0.8.0 (#10912) * FEATURE: Add weekly bookmark cleanup code (#10899) * FIX: Killing a Unicorn worker shouldn't kill a running backup or restore process * FIX: Backup didn't work anymore after a running backup was canceled * Revert "FEATURE: Upgrade analytics.js to gtag.js (#10893)" (#10910) * FEATURE: Upgrade analytics.js to gtag.js (#10893) * DEV: Make notify_file_change fallback to `nc` when `socat` missing (#10903) * DEV: Users must be able to see a topic to moderate it. (#10906) * FIX: Error messages from editing user being swallowed (#10908) * UX: New Topics Will Appear Here display changes (#10895) * Revert "DEV: makes babel configuration consistent in all cases (#10884)" (#10907) * Update translations * DEV: makes babel configuration consistent in all cases (#10884) * DEV: Make site setting type uploaded_image_list use upload IDs (#10401) * FIX: disabled option for sk was not working correctly (#10900) * DEV: ensure queue_time and background_requests are floats (#10901) * PERF: backoff background requests when overloaded (#10888) * Build(deps-dev): Bump webmock from 3.9.1 to 3.9.2 (#10896) * FIX: use new color variables in embed.scss, remove hardcoded colors (#10898) * Revert "FIX: use new color variables in embed.scss, remove hardcoded colors (#10887)" (#10897) * FEATURE: respect tags_sort_alphabetically setting when display tags (#10889) * DEV: Fix an apparently "too modern" git command (#10894) * FIX: use new color variables in embed.scss, remove hardcoded colors (#10887) * DEV: Fix a spec incompatibility with pre-2.28 git (#10892) * FIX: Handle .discourse-compatibility syntax errors (#10891) * Build(deps): Bump rubocop from 0.93.0 to 0.93.1 (#10890) * DEV: Add discourse-teambuild to official plugins (#10874) * FEATURE - SiteSetting to disable user option to hide their profiles and presences (#10885) * FIX: Observers weren't working on admin email logs * REFACTOR: Use imports for `sinon` and `setResolver` * FIX: second factor cannot be enabled if SSO is enabled (#10880) * FIX: display correct reply count for crawler * Replace `base_uri` with `base_path` (#10879) * FIX: Include subfolder base_path in web app manifest shortcuts (#10878) * DEV: Add styleguide locale files to Crowdin (#10876) * FIX: Make browser-update work with IE<11 (#10868) * FIX: Favicon count was not updated when window focus returned (#10875) * REFACTOR: Remove `.erb` file from javascript tests * REFACTOR: Move test setup to a module * Ignore disabled out-of-date remote themes (#10870) * FIX: Use scope name when serializing UserApiKeys (#10871) * Build(deps): Bump rubocop from 0.92.0 to 0.93.0 * FIX: ensures insert hyperlink works with mailto (#10867) * FIX: ensures category chooser is working with non english char (#10866) * FIX: Confirm new email not sent for staff if email disabled with "non-staff" option (#10794) * FIX: Confirm new email not sent for staff if email disabled with "non-staff" option (#10794) * DEV: remove legacy code * Fix broken spec. * FIX: Scheduled jobs not showing up in /sidekiq/schedule in dev. * PERF: avoid lookbehinds when indexing search (#10862) * FIX - downcase strings consistently (#10861) * DEV: Fix typo * FIX: missing SVG mask asset in wizard (#10856) * FIX: Group Requests loading was broken * FIX: Respect show_category_definitions_in_topic_lists in category lists (#10853) * REFACTOR: Some qunit `module` imports were missing * FIX: Include topics from subcategories in tracked list (#10850) * FIX: Compare Jobs::UserEmail type argument as string (#10851) * REFACTOR: Import `QUnit` and related helpers rather than globals * PERF: Do not enqueue digest emails when attempted recently (#10849) * Build(deps-dev): Bump rspec-html-matchers from 0.9.2 to 0.9.4 (#10842) * DEV: makes discourse-styleguide core (styleguide) (#10847) * FIX: Use getAttribute instead of dataset (#10848) * PERF: Introduce absolute limit of digests per 30 minutes (#10845) * FIX: When admin changes an email for the user the user must confirm the change (#10830) * Build(deps): Bump parser from 2.7.1.5 to 2.7.2.0 * User export: profile as json, export auth token logs (#10819) * REVERT: revert change from action + mut to mut (#10844) * SECURITY: Ensure users can see the topic before setting a topic timer. (#10841) * SECURITY: Ensure users can see the topic before setting a topic timer. (#10841) * FIX: fixes regression where wizard dropdown couldn't update (#10838) * FIX: Correctly render title-less poll widgets (#10837) * FEATURE: bulk remove tags (#10831) * FIX: Find noscript element with crawler content (#10834) * DEV: Do not render header in wizard preview when logo is missing (#10835) * DEV: replaces unecessary (action (mut .*)) by (mut .*) (#10822) * Update translations * FIX: Handle poll titles when headings are present (#10832) * Build(deps): Bump message_bus from 3.3.2 to 3.3.4 * Bump discourse-fonts to 0.0.5 (#10829) * Remove "further reading" step from wizard (#10825) * FIX: Escaped `mailto` URLs would raise an exception * REFACTOR: Support importing of `Pretender` * REFACTOR: Removes double check of site setting in badge granter * DEV: Add template linting to the CI workflow (#10821) * REFACTOR: Removes `Discourse.SiteSettings` constant from tests * FEATURE: Separate base and heading font site_settings (#10807) * FIX: Disallow email invites if enable_local_logins is disabled (#10805) * FIX: Always let moderators to see their group PMs (#10813) * Hide large refactor commit from blame * Embedded topics are now unlisted by default * FIX: Deprecated overwriting of computed property * DEV: fixes linting of hbs files in core plugins (#10820) * FIX: Validate category name on parent change (#10815) * FIX: makes dashboard periods use current day and weekly 7 days (#10817) * FIX: Preload uploads in groups#search to stop N+1 (#10814) * Build(deps-dev): Bump better_errors from 2.8.2 to 2.8.3 (#10812) * FEATURE: explain why invites are disabled to staff users (#10810) * FIX: Hide empty popular/recent sections in 404 page (#10811) * FIX: Build was broken because uglify can't accept `let` or `const` * REFACTOR: Move javascript tests inside discourse app * FIX: Stripping lines from incoming email shouldn't fail for blank body (#10800) * FEATURE: Add the title attribute to polls (#10759) * FIX: remove whitespaces around inline HTML tags next to text. (#10803) * Revert "FIX: Use topic title headline in search menu result." * FIX: Use topic title headline in search menu result. * Build(deps-dev): Bump better_errors from 2.8.1 to 2.8.2 * FIX: Clear notification of skipped narrative bot PM (#10792) * FIX: move hp request from /users to /token (#10795) * DEV: Hide large commit for moving test directories * FIX: Allow staff to use HTML in the category read only banner * DEV: Recover missing files of existing uploads (#10757) * FIX: Migration should only update ReviewableUsers where the user is not approved. (#10790) * Build(deps): Bump rspec-core from 3.9.2 to 3.9.3 (#10791) * DEV: Add support for `api-initializers` to reduce boilerplate. * DEV: Add support for `api-initializers` to reduce boilerplate. * Update server.en.yml * Update server.en.yml * minor copyedit * FIX: Allow .otf fonts to be delivered via cdn (#10787) * DEV: Fix heisentest * FIX: better error message if invite is expired (#10783) * Build(deps): Bump rotp from 6.1.0 to 6.2.0 * REFACTOR: Move qunit tests to a different directory structure * FIX: Deprecation overwriting `translatedText` CP * Update app/assets/javascripts/discourse/app/templates/components/share-popup.hbs * REFACTOR: Remove deprecated `action="something"` attributes * FIX: Make bundler CI cache setup explicit (#10785) * FIX: correct value of auto and adds nohighlight to the description (#10771) * FIX: Invalid URLs could raise exceptions when calling UrlHelper.rails_route_from_url (#10782) * minor copyedit * UI: Remove background from group notifications of @mentions (#10775) * FIX: Use correct locale for error messages (#10776) * FIX: We were overriding the `canCreateTopicOnCategory` computed property * FEATURE: composer option to reload page and force save draft (#10773) * DEV: Plugin api function to add saveable user fields (#10774) * Update translations * FIX: empty highlighted_languages resulted in ["", "auto", "nohighlight"] (#10772) * Build(deps): Bump regexp_parser from 1.8.0 to 1.8.1 (#10767) * DEV: Move UserApiKey scopes to dedicated table (#10704) * UX: increase input width on accept invite page. * FIX: Correct corrupt encoding in emails containing attachments * UX: Replace cog icon in user menu with user icon * FIX: Respect force download when downloading secure media via lightbox (#10769) * UX: Don't truncate category names in search panel * FIX: Admin change email for user process improvements and fixes (#10755) * Build(deps): Bump rubocop-ast from 0.7.0 to 0.7.1 * DEV: deepMerge and deepEqual functions (#10764) * UX: fix styling for posts and views advanced search * DEV: don't add username to share links when badges are disabled (#10730) * FEATURE: advanced search option for max posts count (#10761) * Build(deps): Bump puma from 5.0.0 to 5.0.2 * UX: consistent password label on signup and invites page * DEV: fix broken backend test due to #10749 (#10758) * fix the build * FIX: prevents scrollbar jumping in the emoji picker (#10749) * DEV: Clean up S3 specs, stubs, and helpers * UX: show range for advanced search views filter. * FEATURE: add alias for min_post_count search filter * FIX: removes time from date in calendar range at midnight (#10751) * Build(deps): Bump rubocop-ast from 0.5.1 to 0.7.0 (#10754) * FIX: when the user is promoted to TL2 invite to advance training (#10752) * FIX: deprecate whitelist constants (#10716) * Revert "UX: Prevent categories from overflowing select-kit" * UX: Allow horizontal scroll on mobile post buttons * theme settings need some bottom margin * UX: Prevent categories from overflowing select-kit * FIX: Dismiss unread respects tracked query param (#10714) * Build(deps): Bump rubocop-ast from 0.5.0 to 0.5.1 * FIX: don’t include category in quote topic title, if present * Build(deps): Bump rubocop from 0.91.1 to 0.92.0 * UX: Center wizard vertically * UX: Use pointer cursor for wizard buttons * FEATURE: Support using system font in wizard font step (#10742) * FEATURE: Dark-mode-friendly wizard (#10739) * Update locale for minimum posts filter on advanced search. * Version bump to v2.6.0.beta3 * Build(deps): Bump rubocop-ast from 0.4.2 to 0.5.0 * Build(deps): Bump parser from 2.7.1.4 to 2.7.1.5 * UX: More upbeat message when topic list is empty (#10740) * Version bump to v2.5.2 * FIX: Don't skip the new user badge (#10743) * FEATURE: Add a site setting to control automatic auth redirect (#10732) * Build(deps): Bump exifr from 1.3.7 to 1.3.8 * Build(deps): Bump rubocop from 0.91.0 to 0.91.1 * UX: Use simple list for settings without choice options (#10737) * Update regex for views search filter. * Update locale for views search filter. * FEATURE: advanced search filters for view count * FEATURE: change default size for search recent posts * DEV: Prefer `update!` over `update` when return value is not checked. * DEV: Stop polluting `Class` with deprecated settings methods (#10736) * DEV: updates eslint-config-discourse for prettier 2.1.2 (#10735) * Build(deps): Bump simplecov-html from 0.12.2 to 0.12.3 * FIX: `mouseEnter` is deprecated in newer Ember releases * Add extra locales to bootstrap.json * FIX: email always settings were not being respected * FIX: Remove category id from category class name (#10712) * FIX: Only staff can edit topic details when first post is locked (#10729) * UX: ensures new-topic badge renders consistently * FIX: allow editing in composer before a category is selected (#10724) * FIX: Use scrollY for current scroll position * Ignore the giant rename commit * Update vanilla_body_parser for stability * DEV: linting of run-qunit.js (#10728) * DEV: Do not translate font names (#10723) * FEATURE: Make search filters case insensitive (#10715) * DEV: skip topic deletion staff log when user skip new user tips. * DEV: make it possible to enable cdn in development environment. * A11Y: Hide post avatar link from screen readers * Improve staff_like_weight copy to indicate how the value is applied (#10726) * A11Y: Add label to share link input (#10717) * A11Y: Don't show title attr on post avatars (#10719) * REFACTOR: Support bundling our `admin` section as an ember addon * FIX: Unexpected return during system_message_sent event * DEV: linting of discourse-presence (#10722) * DEV: specify eslint-config-discourse version instead of using latest (#10721) * DEV: enforces eslint’s curly rule to the codebase (#10720) * Update translations * FIX: prettier popular-themes.js (#10718) * A11Y: Label posters column on topic lists * Fix prettier offenses * FIX: Replace broken Material Design preview link * FIX: TL2 promotion message and advance training (#10679) * DEV: allow larger recent post size * FIX: don't error Topic#similar_to when prepared raw is blank (#10711) * Build(deps): Bump regexp_parser from 1.7.1 to 1.8.0 * DEV - write JS files to versioned subdirectories (#10707) * FIX: Do not downcase group name in notification payload * FIX: respect moderator group permissions in guardian (#10713) * FIX: error "unknown attribute verified" in uploads rake tasks * UX: Remove the post number from a composer label * DEV: Apply `unselectable` style consistently * UX: Replace "Loading..." in quotes with a spinner * UX: add width and height to GitHub onebox inline avatar in emails. * FIX: use normal logo in published pages if small not available. * FIX: if no group is found, raise correct error * FIX: compensate for typographer * FIX: Nested quotes in BBCode * FIX: NotificationLevels import was incorrect (#10709) * FIX: missing / after basePath was causing the URL to be relative (#10708) * FIX: Ensure multisite DB is set correctly when spawning backup process * DEV: Fix flaky UploadSecurity spec * Build(deps): Bump rubocop-ast from 0.4.1 to 0.4.2 * FIX: Whitelist marker elements when uploading SVGs (#10703) * REFACTOR: Remove dead code (mouseMove) * REFACTOR: Do not rely on module order for discourse-markdown loading * UX: Update dark mode styling of new user overlay (#10694) * UX: Landscape spacing in iOS devices with a notch * FEATURE: Review posts with media. (#10693) * REFACTOR: Move the `discourse-markdown` engine out of the addon repo * FIX: Forking prevented notifications from being sent after backup * FIX: hidden was defined as static instead of relying on attribute (#10701) * DEV: Refresh site settings on Redis fallback (#10700) * DEV: Clear all `DistributedCache` on Redis fallback. * Build(deps-dev): Bump better_errors from 2.8.0 to 2.8.1 * Build(deps): Bump crack from 0.4.3 to 0.4.4 * FIX: Provide better API for registering custom upload public types (#10697) * Build(deps): Bump puma from 4.3.6 to 5.0.0 (#10692) * FIX: Do not downcase group name in current user serializer * DEV: Use border-box sizing for admin controls * FEATURE: Diffrentiate between group + individual mentions (#10691) * DEV: Add ENV variable for enabling MiniProfiler snapshots (#10690) * FIX: Use asset_hostnames in rails_multisite * FEATURE: Hidden `SiteSetting.keep_old_ip_address_count` to track IP history. * FIX: Fix verification_status migration for uploads * FEATURE: Default allow embed secure images in email to true (#10688) * DEV: Change upload verified column to be integer (#10643) * Build(deps): Bump rack-mini-profiler from 2.0.4 to 2.1.0 * Build(deps-dev): Bump parallel_tests from 3.2.0 to 3.3.0 (#10684) * Build(deps): Bump rubocop-ast from 0.4.0 to 0.4.1 (#10683) * FIX: group tag notifications included for all users * FIX: don't show Tags tab in group management if tags are disabled * FIX: N+1 for admins viewing groups page * FIX: uses get() on properties of groups/badges which could be POJOs (#10682) * UI: minor size/spacing inconsistencies in search advanced options (#10681) * Update translations * FIX: attempts to make autofocus more resilient in modals (#10680) * FIX: category slug route was not working for subfolder setup * Update rails_failover to 0.5.7. * Update translations * Build(deps-dev): Bump better_errors from 2.7.1 to 2.8.0 * Build(deps): Bump nio4r from 2.5.3 to 2.5.4 * Build(deps): Bump onebox from 2.1.2 to 2.1.3 (#10677) * FIX: Clear stylesheet cache on base font change * SECURITY: __ws shouldn't be able to override every domain in multisite * Build(deps): Bump rubocop from 0.90.0 to 0.91.0 (#10673) * Build(deps): Bump rails_multisite from 2.3.0 to 2.4.0 (#10672) * FIX: Missing files from previous commit * Create proper shim for xss library - second attempt * FEATURE: Allow admins to delete user SSO records in the UI (#10669) * FIX: topic progress wrapper positioning regression * UX: Remove extraneous ellipsis after "loading" * Update translations * FIX: img width and height should be in quotes (#10675) * FIX: simplifies updating searchedTerms from connectors (#10674) * REFACTOR: reworks all the search-advanced-options panel (#10661) * DEV: updates js transpiler to use babel 7 (#10627) * DEV: Fix another `MessageBus::InvalidMessageTarget` error. * DEV: Fix `MessageBus::InvalidMessageTarget` error after upgrading mb. * Update message_bus to 3.3.2. * FIX: `TopicQuery.list_private_messages_unread` ignore notification level * FIX: improvements after code review * FIX: spec for oversized images security fix * Revert "Create proper shim for xss library" * REFACTOR: improve readability of cacheBuster * Create proper shim for xss library * FIX: Wizard does not include `discourse-shims` * FIX: adds shims for popper in wizard (#10658) * Build(deps-dev): Bump webmock from 3.9.0 to 3.9.1 (#10667) * FIX: Mark only uploads as verified/unverified in S3 inventory * DEV: Add include_pms option to TopicQuery (#10647) * FIX: upload errors were sometimes not displayed properly (#10605) * Build(deps): Bump sprockets-rails from 3.2.1 to 3.2.2 * Build(deps): Bump rails_failover from 0.5.5 to 0.5.6 * FIX: Make form use /u/admin-login instead of /users/admin-login (#10663) * FEATURE: allow to extend topic_eager_loads in Search (#10625) * DEV: remove stubs from silencer spec * Build(deps-dev): Bump webmock from 3.8.3 to 3.9.0 * SECURITY: return error on oversized images * FEATURE: Remove user topic timers and migrate to bookmarks with reminders (#10474) * SECURITY: return error on oversized images * FEATURE: adds support for mobile view on page publishing (#10662) * FIX: selected diversity was off by one (#10659) * DEV: heisentest cause by a post not created yet (#10656) * Revert "FIX: Was using a global `Popper` variable" * DEV: Add discourse-algolia to official plugins (#10657) * FIX: `isVisible` is no longer allowed even if used properly * FIX: Was using a global `Popper` variable * FIX: Ember has deprecated `isVisible` in newer versions * UX: makes emoji picker case insensitive (#10655) * DEV - versions of JS files written to a JS file to be included by loa… (#10649) * Build(deps): Bump rubocop-ast from 0.3.0 to 0.4.0 (#10654) * FIX: ensures focus is dropped before focus hyperlink input (#10653) * DEV: Upgrade Lefthook * Build(deps): Bump exifr from 1.3.6 to 1.3.7 (#10650) * FIX: wrap modal onShow inside next (#10651) * UX: Make the api-keys new and show page a little more responsive (#10629) * FIX: Ensure uploads are linked to post when revising a post * PERF: Remove category_user lookup when loading private messages. * DEV: Avoid creating the same object repeatedly. * PERF: Fix N+1 queries on private messages route. * FEATURE: Add support for not persistent sessions * FEATURE: moderators allowed to view groups which members can see. * SECURITY: Mod should not see `group_users` and `second_factor_enabled`. * PERF: Fix broken memoization in `GroupShowSerializer`. * Revert "FEATURE: moderators allowed to view groups which members can see." * FEATURE: Add bookmarks to the user export (#10591) * FEATURE: moderators allowed to view groups which members can see. * FIX: Prevent "uploads are missing in S3" alerts after restoring a backup * UX: display moderators group name in the group dropdown menu. * FIX: prevents eslint failure on unmatched patterns in plugins (#10648) * DEV: Small refactor of topic progress wrapper positioning (#10646) * DEV: Add plugin api to permit bulk_action parameters (#10638) * FEATURE: show existing tag name on rename modal * FIX: Make sure rel attributes are correctly set. (#10645) * FEATURE: add user opt to select bookmarks as home (#10597) * FIX: Adds important declaration to `.hidden` utility/helper class * FIX: Ignore empty search terms in topic queries * DEV: add plugin outlet below the categories-only component * Revert "PERF: Use 1 query to load group and tag notification default." * FIX: Account for different composer 'edit' states in discourse-presence (#10631) * linting (#10644) * FIX: Update first_pm_unread_at of user's groups without unread. * Update Rails to 6.0.3.3. * DEV: Remove unused function. * DEV: Remove redundant variable. * PERF: Use 1 query to load group and tag notification default. * DEV: Review fixes for bookmark-list (#10642) * FIX: Search checkboxes incorrectly being checked on similar prefix. * DEV: Review fixes (#10641) * FIX: Admin search for PMs should only search own PMs. * FEATURE: Allow email image embed with secure media (#10563) * FIX: topic_creator accepts participant_count in import mode (#10632) * FIX: We should check for watched words first even if the user is a fast typer. (#10630) * fix typo Permenantly Delete -> Permanently Delete * FIX: `approve post count` did not take new topics into account * DEV: Improve theme support for color definitions (#10634) * Update translations * DEV: Add plugin api for adding to search-advanced-options dropdowns (#10606) * Build(deps): Bump onebox from 2.1.1 to 2.1.2 (#10635) * UX: prevents auto capitalize/correct in the emoji picker (#10636) * Fix the build. * PERF: Remove an unncessary query when check for dark mode. * PERF: Memoize calls to `ApplicationHelper#scheme_id`. * PERF: Keep track of first unread PM and first unread group PM for user. * FIX: Admin should always be able to view group messages. * DEV: Switch over to a fork of ember-rails (#10603) * DEV: Resolve this child category pending request spec (#10604) * DEV: Strip unicode from color scheme stylesheet filenames (#10628) * PERF: Add partial index on reviewables for topic view (#10492) * PERF: Don't load all poll_votes for a poll * FIX: We have changed the way `__widget_helpers` are resolved * FIX: handles different cases of canInvite/canRemove states in PM (#10607) * Build(deps): Bump unicorn from 5.6.0 to 5.7.0 * Build(deps): Bump sidekiq from 6.1.1 to 6.1.2 * Build(deps): Bump redis from 4.2.1 to 4.2.2 * Build(deps): Bump lodash in /app/assets/javascripts/pretty-text * Build(deps): Bump lodash in /app/assets/javascripts/discourse-common * Build(deps): Bump oj from 3.10.13 to 3.10.14 * Build(deps): Bump puma from 4.3.5 to 4.3.6 * Build(deps): Bump rack-protection from 2.0.8.1 to 2.1.0 * DEV: Correct use of `sanitize_sql_array` in `TopicQuery`. * DEV: Address review comments for 5ed84d9885b. * SECURITY: Remove indication that a group exists if user can't see it. * SECURITY: Don't allow moderators to list PMs of all groups. * FIX: workaround constructor name not available after transpilation (#10623) * DEV: Correct use of `sanitize_sql_array` in `TopicQuery`. * DEV: Address review comments for 5ed84d9885b. * SECURITY: Remove indication that a group exists if user can't see it. * SECURITY: Don't allow moderators to list PMs of all groups. * Revert "SECURITY: Don't allow moderators to view the admins inbox" * SECURITY: Don't allow moderators to view the admins inbox * FIX: wraps popper call in afterRender and uses createPopper (#10621) * Build(deps): Bump websocket-extensions (#10617) * Build(deps): Bump websocket-extensions (#10615) * Build(deps): Bump elliptic in /app/assets/javascripts/pretty-text (#10611) * Build(deps): Bump elliptic in /app/assets/javascripts/discourse-common (#10612) * Build(deps): Bump http-proxy in /app/assets/javascripts/discourse-common (#10613) * Build(deps): Bump http-proxy in /app/assets/javascripts/pretty-text (#10614) * Build(deps): Bump nio4r from 2.5.2 to 2.5.3 (#10620) * FIX: Make deleted topic post bookmarks more resilient (#10619) * PERF: Don't load all poll_votes for a poll * UX: Add missing labels to mobile composer buttons * DEV: Document `/u/{username}.json` API endpoint * DEV: Switch over to a fork of ember-rails * FEATURE: Add css classes to stylesheet link elements (#10598) * DEV: Pass the for_export flag to the before_upload_creation event (#10599) * FIX: Allow us to call `script_asset_url` in controllers * FEATURE: Add stylesheets to bootstrap.json endpoint * DEV: fixes eslint/prettier on github actions (#10601) * FIX: ensures we don't attempt to concat an empty list (#10600) * DEV: specific ext and remove I18n global * FIX: Preload bold fonts in wizard * FIX: prevents error when opening a composer from a tag page (#10596) * DEV: Use a special import to declare font faces (#10583) * DEV: ignore coding standards applied to plugins (#10595) * DEV: apply coding standards to plugins (#10594) * DEV: ignore coding standards commit (#10593) * DEV: apply new coding standards (#10592) * DEV: upgrades dev config (#10588) * FEATURE: Add below-static plugin outlet * FIX: make crawler linkback list compatible with google schema guidelines. * DEV: Add option to precompile default multisite stylesheets * DEV: Remove an unused i18n string * FEATURE: Deprecate lodash so we can remove it. * Rename `merge` to `deepMerge` so it's more clear what it's doing * REFACTOR: Remove `_.isEqual` * REFACTOR: Remove `_.merge` * FIX: Convert jQuery array to JS array * REFACTOR: Remove `_.last` * REFACTOR: Remove `_.compact` * REFACTOR: Remove `_.clone` which is not deep * REFACTOR: Remove `_.intersection` * REFACTOR: Remove `_.union` * REFACTOR: Remove `_.isString` * REFACTOR: Remove `_.groupBy` * REFACTOR: Remove `_.max` * REFACTOR: Remove `_.chain` * REFACTOR: Remove `_.filter` * REFACTOR: Remove `_.reject` * REFACTOR: Remove `_.omit` * REFACTOR: Remove `_.sortBy` * REFACTOR: Remove `_.findIndex` * REFACTOR: Remove `_.uniq` and use ember version * REFACTOR: Remove `_.first` from codebase * REFACTOR: Remove `_.range` and use ES6 instead * REFACTOR: Remove `_.isEmpty` in favor of the existing version * REFACTOR: Replace `_.extend` with `Object.assign` * REFACTOR: Use `Array.isArray` instead of `_.isArray` * Build(deps-dev): Bump test-prof from 0.12.1 to 0.12.2 (#10589) * FIX: whoops, linting * DEV: Add log rake task * Build(deps-dev): Bump rubocop-discourse from 2.3.1 to 2.3.2 * FIX: Gravatar download attempt if user is missing their email * Build(deps): Bump public_suffix from 4.0.5 to 4.0.6 * FIX: don't send mailing list for post with empty content (#10577) * FIX: highlightjs 10 requires some languages to be loaded before others (#10584) * DEV: Add class to wizard HTML element * UX: Hide category settings badges checkbox when enable_badges is off * Add category id to webhook post serializer * REFACTOR: simplifies connectors code (#10579) * UX: wrap extra long links in GitHub oneboxes instead of overflowing * FIX: Remove font-famly property in .font- classes * FIX: System message wasn't fully translatable * FIX: updates highlightjs to latest version to avoid a freeze (#10578) * FIX: Check if invite has expired before showing it (#10581) * FIX: Add to tags result set only visible tags (#10580) * Build(deps): Bump rubocop from 0.89.1 to 0.90.0 * DEV: Remove rb-inotify gem from Gemfile * Build(deps-dev): Bump minitest from 5.14.1 to 5.14.2 * FIX: Don't raise error in update username job if user has been deleted. * FIX: wait for groups before showing empty message * FIX: add cache breaker for fonts * DEV: add plugin hooks for silence message parameters (#10538) * FIX: Allow fonts to be delivered via CDN * FIX: skip pm view action log while generating webhook payload. * FIX: User export category preferences on a deleted category. (#10573) * DEV: Faster SCSS refresh locally for plugins * FIX: emails.rake use authentication (#10572) * Build(deps-dev): Bump test-prof from 0.12.0 to 0.12.1 (#10571) * DEV: Show plugin versions in CI * Build(deps): Bump logster from 2.9.3 to 2.9.4 (#10570) * Update translations * removed REGEXP_IN_MATCH regex to make it flexible to use with plugins (#10476) * Update annotations. * DEV: removes jquery usage from highlight-syntax (#10564) * Remove out-of-date / non-core annotations. * Annotate models. * FIX: modify notification after remove auto_watch_category (#10568) * only remove edit button margin when text is hidden * DEV: Require scheduled job in development to avoid loading file twice. * DEV: Increase log levels for more assets/static paths. * FIX: Handle deleted categories in post export (#10567) * FIX: Focus first button in topic admin menu (#10562) * User export improvements 2 (#10560) * DEV: Switch our fast_xor gem for xorcist (#10565) * DEV: CSS truncation followup * FIX: Ensure disabling 2FA works as expected (#10485) * FIX: Disable insert link button when editing a category (#10549) * UX: don't wrap topic status icons in the header if there's more than one * FIX: Flaky JS test due to not waiting for promises * FEATURE: Add site setting and wizard step to set base font (#10250) * DEV: Remove jquery.cookie * DEV: Only eagerload scheduled jobs in a Sidekiq process. * DEV: Leaking state in `PostActionNotifier` in tests take 2. * DEV: Leaking state in `PostActionNotifier` in tests. * DEV: Improve assertions for spec. * FEATURE: allow specifying platform name for platform specific gems (#10559) * FIX: dont error when bookmark topic is nil (#10555) * DEV: clear last seen cache consistently * DEV: Lint file * FIX: Do not set color_scheme_id in user options when no schemes are marked as selectable * UX: Restyle user menu so user links are findable (#10554) * FIX: Pluralized translation overrides didn't work for en_US * Basic spec for rails_route_from_url (#10558) * FEATURE: Add category tracking state to user archive export (#10557) * REFACTOR: Don't use `layoutName` in select-kit (#10556) * FIX - rails_route_from_url would fail if path contained unicode characters * FIX: UserAction did not have a types enum (#10553) * DEV: drop the explicit .each in UserArchive CSV writing * DEV: minor refactors to ExportUserArchive(Spec) * DEV: Switch to new ExportUserArchive job * DEV: Create ExportUserArchive as clone of ExportCsvFile * PERF: Add partial index on reviewables for topic view (#10492) * FEATURE: User selectable color schemes (#10544) * DEV: Throw an error instead of a string. * Build(deps-dev): Bump parallel_tests from 3.1.0 to 3.2.0 * DEV: Remove staff bypass on fix missing * DEV: Allow all uploads when fixing missing s3 * Build(deps): Bump oj from 3.10.12 to 3.10.13 * DEV: Replace SECURE_MEDIA_ROUTE const with other methods (#10545) * FIX: Bump onebox to fix soundcloud oneboxes * REFACTOR: Move Mousetrap library to an import * FEATURE: Additional control of iframes in oneboxes (#10523) * REFACTOR: Remove $.cookie in favor of a local library based on it (#10548) * FEATURE: add dismiss unread topics button when filtered by tag. (#10547) * DEV: Restoring backups didn't work on macOS * DEV: gives didRender and willRerender hooks to widgets (#10496) * Delete 1.5 * DEV: Restore UploadRecovery specs (#10543) * DEV: Switch letter avatar service to new domain (#10546) * UX: make category topic counts clickable on mobile (#10541) * Fix the build. * PERF: Create a partial regular post_search_data index on large sites. * DEV: Improve s3 upload image analysis * Build(deps): Bump loofah from 2.6.0 to 2.7.0 * Build(deps-dev): Bump mock_redis from 0.25.0 to 0.26.0 * Build(deps-dev): Bump shoulda-matchers from 4.3.0 to 4.4.1 * FIX: Suspend API to require `suspend_until` and `reason` params * Button bar needs visible overflow, follow-up to 489443e * UX: Better handling of long category names and button bar in composer (#10542) * Remove tag name from classList (#10540) * Fix spec (#10539) * FIX: Remove additional paths from robots.txt * FIX: `default_tags_muted` site setting won't have tag ids. * Css class additions (#10532) * FIX: ensures period-chooser is not losing query params (#10534) * REFACTOR: Move `bootbox` to an import instead of global variable (#10533) * Update copy and remove unused strings * FIX: Correctly redirect after external login on subfolder sites (#10529) * Build(deps): Bump omniauth-facebook from 6.0.0 to 7.0.0 (#10528) * FEATURE: Added sort by username for directory items (#10482) * Update translations * Minor follow-up bug fix for 5ff6c10. * UX: clarify timezone formatting (#10526) * FIX: Ensure that topic timers belonging to trashed topics are destroyed. * DEV: search more carefully for missing uploads * FIX: Clean up toggle closed topic timer when user is not authorized. * DEV: Fix the broken build caused by 1e8f216. * FIX: Clean up topic_timers when no longer valid. * FIX: Ensure autoclose based on last post is executed by system user. * Revert "FIX: Topic Timer auto opening closed topics (#10524)" * FIX: Topic Timer auto opening closed topics (#10524) * UX: show a generic error on upload for XHR status 0 (#10521) * UX: Add category-title-before to categories-boxes layout * Build(deps): Bump rubocop-rspec from 1.43.1 to 1.43.2 * Update spec/components/concern/has_custom_fields_spec.rb * Update spec/components/concern/has_custom_fields_spec.rb * Accounted for the change while reading the fields added specs to confirm working * FIX: symbols and strings should be treated similarly while saving custom fields * FIX: QUnit site has to be set before `reset()` * FIX: Server side rendering was broken with new `helperContext()` * REFACTOR: We can reuse `getOwner` for some container stuff * REFACTOR: Remove `Discourse` constant from `get-owner` * REFACTOR: Remove `Discourse` constants from nav-item * REFACTOR: Remove container from `User` class * REFACTOR: Remove `__container__` from Site * REFACTOR: Remove container from ajax * REFACTOR: Remove constants from `text` helper * REFACTOR: Missed `container`s in `DiscourseURL` * REFACTOR: Remove `Discourse` constant from `showModal` * REFACTOR: Remove container from `DiscourseURL` * FIX: Remove container from utilities * REFACTOR: Remove container from safari-hacks * REFACTOR: Remove container from pwa-utils * REFACTOR: Remove `Discourse.authenticationComplete` * REFACTOR: Remove container from raw template helper * Add a pull request template to remind people to add tests. * Update translations * Merge pull request #10519 from gschlager/get-url * FIX: DEV: Lock-on improvements (#10448) * DEV: Remove unused code and translations * DEV: Don't lint core files when target == plugins (#10259) * Use quotes instead of grave accent * UX: Timeline should jump to the bottom of the post in single-post topics (#10503) * test: 💍 add test for thai tag * fix: 🐛 category & tag search regex to support thai character * DEV: Disable migration advisory locks in dev and test environment. * Build(deps): Bump sidekiq from 6.0.7 to 6.1.1 * UX: Minor layout fixes and improved consistency on theme admin * DEV: Remove hasBlock from user-info component (#10415) * Revert "DEV: allow plugins to send extra silenced message params" * DEV: allow plugins to send extra silenced message params * DEV: Ensure test resets to original constant. * FIX: limit number of users addable to group at once (#10510) * FIX: duplicate categories and tags allowed in inputs where they shouldn't be allowed * FIX: group categories inputs not filled sometimes * FIX: improve Vanilla importing (#10478) * FIX: Current title wasn't visible when assigning badge title * Build(deps): Bump redis-namespace from 1.7.0 to 1.8.0 (#10498) * Build(deps): Bump oj from 3.10.9 to 3.10.12 (#10495) * FEATURE: More API scopes (#10493) * FIX: ensures diversity code is not applied multiple times (#10517) * FIX: close picker on emoji selection when on mobile device (#10516) * UX: improves picker on automatic dark themes (#10515) * REFACTOR: rewrite the emoji-picker (#10464) * FIX: Add cache-busting parameter to ace-editor javascript * DEV: Improve user card styling extensibility (#10508) * FEATURE: Allow plugins to register parameter-based API routes (#10505) * FIX: removes us_pacific-new from the list of available timezones (#10514) * FIX: Stop category logo + background being marked secure (#10513) * FIX: Restrict `personal_messages:` advanced search filter to admin. * PERF: Avoid extra subquery when searching within PMs for normal user. * Fix lint. * FIX: Correct `personal_messages:<username>` advanced search filter. * FIX: Remove unnecessary audio/video parent element load (#10511) * UX: lowercase tag name before checking it with topic title. * DEV: skip using `br` tag in header widget rendering. * minor copyedit on site setting and user option descriptions * FIX - make Discobot new user tutorial a little more robust (#10497) * Revert "DEV: upgrades sassc to 2.4.0 (#10447)" * FIX: prefer timezones over timezone for previews (#10506) * DEV: Add DISABLE_MINI_PROFILER development ENV variable * UX: Tweaks to admin color palette dropdown (#10502) * FIX: Backups should use relative paths for local uploads * DEV: upgrades sassc to 2.4.0 (#10447) * DEV: Drop support for deprecated `in:private` search filter. * DEV: Improve search spec to test for actual posts. * DEV: Remove array_agg from search orders that does not need it. * FIX: display warning only if all users already added to the group (#10500) * DEV: Update annotations. * DEV: Include more information when reporting search indexing failures. * FIX: `Topic.similar_to` results in error if cooked raw is blank. * FIX: Bookmark list showing wrong no content message (#10501) * FIX: Wizard could not send custom color schemes to the client correctly (#10484) * PERF: Defer indexing post for search when saving a post. * DEV: Drop search index on non-pm posts take 2. * DEV: Drop search index on non-pm posts. * Build(deps): Bump logster from 2.9.2 to 2.9.3 * Version bump to v2.6.0.beta2 * Version bump to v2.5.1 * FIX: Detect dark scheme server-side for better dark logo support (#10490) * FIX: `user_option` option can be `nil` for new users. * DEV: Ensure prettier uses the same patterns everywhere * Make prettier happy * FIX: User titles from translated badge names were automatically revoked * FIX: SiteSettings::LocalProcessProvider didn't work on multisite * DEV: Remove migration that is no longer required. * FIX: default_tags_muted setting should work for anonymous users too. * PERF: Drop index idx_regular_post_search_data concurrently * PERF: drop idx_regular_post_search_data during migration * FIX: Sending a PM through a flag on a deleted post * PERF: Improve performance of post_search_data migration * FEATURE: add `regular_categories` field in site setting & user option. (#10477) * FIX: Error message when setting enforce 2fa with social logins (#10479) * FIX: delete unused tags shouldn't delete tags belonging to tag groups * UX: better wording when there are no unused tags to delete * FIX: Unlike own posts on ownership transfer (#10446) * DEV: Bump rotp gem to latest version (#10472) * DEV: Upgrade highline gem to latest (#10471) * FIX: Polls can be quoted and loaded (#10456) * FEATURE - Moderators can create and manage groups (#10432) * Remove `Discourse` constant usage (#10470) * DEV: adds event_reminder (27) and event_invitation (28) (#10473) * FIX: do not cancel search early in tests (#10445) * PERF: Ensure transaction is of minimal size * FIX: display label when theme uses default color scheme * FIX: do not override logo markup when loading page in dark mode * FIX: Fix css var issues + button :active gradient (#10469) * UX: Help users understand the meaning of each scope. (#10468) * DEV: Let themes extend color definitions (#10429) * Build(deps): Bump jwt from 2.2.1 to 2.2.2 (#10463) * FIX: makes group_show_serializer#is_group_owner follow standards (#10466) * FIX: Always wait for promise when loading a topic (#10465) * Build(deps): Bump oj from 3.10.8 to 3.10.9 (#10460) * Update translations * FIX: more efficient and resilient widget-dropdown body (#10458) * DEV: Fix lint. * DEV: Move data migration of `PostSearchData#private_message` into post_migration. * FEATURE: add option to skip new user tips in first notification. (#10462) * DEV: don't fail if in uploads:fix_missing_s3 when fix fails * PERF: Add partial index for non-pm search. * DEV: Skip readonly tables when remapping content (#10461) * FEATURE: ensure posts are rebaked when missing is fixed * FIX: Add bookmark-list component (#10451) * FIX: Composer upload icon regression because of HEIC * FIX: when destroying uploads clear card and profile background * DEV: Bump onebox to 2.0.2 * FIX: Add playsinline to twitter GIFs * FEATURE: Autoplay oneboxed twitter GIF media * FIX: Allow safari to load and autoplay videos in posts * FIX: Refactor broke wizard * DEV: Facilitate replacing category lock icon in components * REFACTOR: Remove `Discourse.BaseUrl` global * REFACTOR: We can hardcode `#ember-testing` here to avoid a global * FIX: Skip rendering twitter video if matching format not found * FIX: Broken when iconList missing * DEV: Support env var for prometheus port in cache_critical_dns * REFACTOR: Remove `Discourse.HighlightJSPath` from globals * FEATURE: Dark mode alternative logos (#10441) * FIX: Replace iframe with <video> for twitter videos * REFACTOR: Remove `Discourse.SvgIconList` and `Discourse.SvgSpritePath` * User card settings (#10302) * FIX: Clicking on category autocomplete row (#10457) * FIX: prevents errors on /tags when a tag `constructor` exists (#10449) * Merge pull request #10454 from discourse/dependabot/bundler/rubocop-rspec-1.43.1 * FIX: This leaves an empty example group in TRAVIS mode * Build(deps-dev): Bump simplecov from 0.18.5 to 0.19.0 * FIX: Ensure auto close notice is posted with system locale * DEV: Add computed property to Create Account modal (#10455) * Revert "PERF: Prefer joins over subquery for `User#private_posts_for_user`." * PERF: Prefer joins over subquery for `User#private_posts_for_user`. * PERF: Remove extra subquery in search. * Enable hamburger menu scrolling on mobile, follow-up to 1972364 * FIX: Mobile group add dropdown was broken * FIX: defer topic was broken * REFACTOR: These `Discourse` constants do not seem required in vendor * REFACTOR: Add `themeSettings` to the `helperContext` to avoid a global * DEV: Remove blob: workers from CSP (#10440) * REFACTOR: Migrate `screenTrack` to a service * FIX: `application` controller is not used by the card * REFACTOR: Don't use container in Scrolling mixin * REFACTOR: Remove dead code (property was typo'd, no longer used) * REFACTOR: Clean up router usage and private APIs * REFACTOR: Remove `router:main` and `getOwner` * REFACTOR: Simplify `willTransition` * FIX: DEV: Introduce `@bind` decorator (#10439) * DEV: Improve readability of setting weights in `SearchIndexer`. * DEV: Add ember-buffered-proxy import shim (#10438) * FEATURE: add new user option `skip_new_user_tips`. (#10437) * FIX: A paste event listener was re-added instead of being removed * Revert "DEV: Disable ACE editor worker blobs" * This is an attempt to fix a qunit heisentest * FIX: Add script asset locations to worker-src CSP directives * DEV: Disable ACE editor worker blobs * DEV: Fix package.json issues and reroll yarn.lock * PERF: Switch to ActiveRecord's upsert in `SearchIndexer`. * DEV: Fix search to be more intentional about what it is testing. * DEV: IMAP log to database (#10435) * DEV: Upgrade ACE Editor to 1.4.12, remove extra ACE files (#10431) * FIX: generate_topic_thumbnails job infinitely running for corrupted images * FEATURE: allow group membership to unmute categories and tags * formatting follow-up to 32102dd * UX: Use the same formatting for both user and group card bios * FIX: Update preview when autocomplete is clicked (#10430) * FIX: allow plugin pinning to fetch missing commits * FIX: Prevent `LockOn` conflicts (#10422) * FIX: Move queryParams to each discovery controller rather than shared (#10424) * FIX: Preserve anchors in permalink transitions (#10421) * REFACTOR: `LockOn` class (#10428) * DEV: Remove incorrect comment in tag/show controller (#10423) * FEATURE: don't notify about changed tags for a private message (#10408) * FIX: generate topic excerpt when moving posts to new topic. * FIX: Make sure user preference to open external links in new tab works for bookmark list excerpts (#10409) * FIX: Do not require tagging to be enabled for IMAP archive and delete (#10426) * DEV: add error handling in case download fails * FIX: allow plugin pinning to fetch missing commits * DEV: do not correct sha when correctly uploads * DEV: fix_missing_s3 attempts to re-download if missing * DEV: Detect when s3 inventory failure is caused by etag difference (#10427) * DEV: Rename new upload rake tasks * DEV: Order links by domain and url in spec * follow-ups to 1972364: increase notification limit, make show-all a link * FIX: AWS S3 errors don't necessarily include a message * specificity fix to d1c570c * FIX: change the controller method name to match its new name. * DEV: Improve API usage when creating * updating categories * DEV: Add profile-hidden selector to user page for styling * FIX: Heisentest with topic timings * FIX: allow mods to choose restricted categories as parent category. * PERF: Faster TL3 promotion replies needed calculation (#10416) * DEV: Remove directory-toggle component (#10413) * FIX: color scheme selection with non-default theme * Build(deps): Bump bootsnap from 1.4.7 to 1.4.8 * FIX: Expose PG headline highlighting for all search results. * DEV: Fix randomly failing spec. * Fix the build. * FIX: Limit PG headline based search blurb generation to 200 characters. * DEV: add more counts to analyze missing * FIX: try to make topic_tracking_state_spec stable (#10419) * DEV: look for avatars when analyzing missing uploads * FEATURE: introduce tasks for dealing with legacy broken uploads * Reveal IMAP site settings * FIX: iOS/iPadOS freezing when changing notification level in topic footer * Hamburger menu needs to be able to scroll, follow-up to 1972364 * FEATURE: IMAP delete email sync for group inboxes (#10392) * FIX: use correct site setting when uploading images * FIX: Invalidate cache when updating color scheme colors (#10417) * Update README.md * Added BrowserStack Logo to Readme * DEV: removes the Vincent theme from the "popular theme" list * UX: preload muted categories list to prevent rendering delay. * FIX: Ensure load more directory items has a .json url * Build(deps): Bump omniauth-oauth2 from 1.6.0 to 1.7.0 * Build(deps): Bump rubocop from 0.89.0 to 0.89.1 * Update translations * DEV: Bump logster to 2.9.2 * DEV: re-enable tests following the timeout fix (#10410) * DEV: Assert for response status in tests. * DEV: Add verified to uploads and fill in S3 inventory (#10406) * prevent search panel more link from causing horizontal overflow * FIX: Return 422 when creating topics with tags w/out permission (#10400) * REFACTOR: Update the notification menu to remove scrolling (#10371) * Allows mod posts to be created for category group moderators on closed/archived topics (#10399) * UX: ensures search results wrap on mobile * UX: Set silence_reason using the system locale * FIX: Include secure media URLs when linking post uploads (#10404) * Build(deps): Bump concurrent-ruby from 1.1.6 to 1.1.7 * FEATURE: Group category permissions tab (#10388) * DEV: Order links by domain in spec * REVERT: Resetting the filters is causing double transitions * DEV: Document notifications and tags api endpoints * UX: Update header background color in mobile app webview * FIX: Update colors for presence plugin * FIX: Smaller header font size for published page (#10398) * FEATURE: Block vibration in Firefox Android (#10389) * DEV: Use explicit ordering so spec is realiable * FIX: include both name and id in color scheme stylesheet filename slugs (#10397) * Build(deps): Bump diffy from 3.3.0 to 3.4.0 * Add recently renamed category group moderation setting to DeprecatedSettings * FIX: sync reviewable count when opening the hamburger menu (#10368) * FIX - limit number of embedded media items in a post (#10391) * DEV: Use verbose mode when running tests in CI * DEV: Add seed explicitly in turbo_rspec so that runs can be reproduced * Convert HEIC uploads to JPG by default (#10395) * DEV: prevent already initialized constant warning * DEV: Add linebreaks around qunit "Tests timed out" message * Add site setting to pick dark mode color scheme (#10390) * FIX: removes persistedQueryParams as it should work out of the box (#10394) * PERF: Limit characters used to generate headline for search blurb. * DEV: Fix lint take 2. * DEV: Fix lint. * FEATURE: Use PG `ts_headline` for highlighting topic title in search. * DEV: No need to highlight search if PG headline generation is used. * FEATURE: add advanced order to search (#10385) * FIX: Specify config when generating tsquery using `ts_headline`. * FEATURE: notification for vote plugin (#10384) * FIX: PM participants list refreshing after inviting * DEV: Set application template plugin outlets to tagName="" (#10382) * REFACTOR: Remove `Discourse` constants from `cleanDOM` * REFACTOR: Use the session for the `ServiceWorkerURL` * REFACTOR: Use `isTesting()` instead of `Discourse.testing` * REFACTOR: Remove an unnecessary `Discourse.__container__` * REFACTOR: Use the session to track assetVersion/requiresRefresh * FIX: Missing bottom border in select-kit color list settings * REFACTOR: Remove `Discourse.__widget_helpers` * Remove `getURL` and `getURLWithCDN` deprecations, they have been removed * FEATURE: set notification levels when added to a group (#10378) * FEATURE: Poll breakdown 2.0 (#10345) * DEV: Ensure the correct plugin stylesheets are reloaded in development * DEV: Plugins can extend color definitions (#10383) * FEATURE: Allow users to opt out of automatic dark mode (#10377) * DEV: Correctly render data- attributes in widget hbs templates (#10376) * FIX: User preferences tests didn't always have pretender called * DEV: Remove mention of Transifex from locale files * UX: ensure CSS vars are loaded in the Wizard stylesheet * DEV: Add spec for removing and re-adding hotlinked images * PERF: Use PG headlines for blurb generation and highlighting for search. * FIX: stop sync of tracking state when list is filtered * PERF: Replace video and audio links in search blurb while indexing. * DEV: Make rubocop happy. * PERF: Optimize `ActionView::Helpers::TextHelper#excerpt`. * Build(deps): Bump rubocop from 0.88.0 to 0.89.0 * PERF: Release post_upload records when downloaded image is removed (#10379) * FIX: Only raise proper `"error"` messages * FIX: Pretender errors were being swallowed * FIX: Raise errors for broken pretender responses in test mode * FIX: replace `fullPath` while rewriting the `/my/` URLs. * Improve output for QUnit tests in CI: * Quit tests early, output seed to easily reproduce failure * FEATURE - allow category group moderators to split/merge topics (#10351) * Update translations * FIX: ensures shadow has last_posted_at before comparing to site setting (#10374) * REFACTOR: Refactor pull_hotlinked_images job * FIX: attempt to output a useful error message * DEV: Fix test * FEATURE: Allow the specification of an arbitrary unicorn listen address * FIX: Shows all_results if current settings category has no results (#10358) * FIX: Disable concurrent migration for `multisite:migrate`. * FIX: Don't run seeds if multisite migration fails. * DEV: allow qunit:test to run concurrently * FIX: excerpts larger than 999 are not supported * FIX: Topic map was incorrectly counting assign actions (#10360) * FEATURE: Add category_id to TopicViewWordpressSerializer (#10372) * FIX: Show "group members forbidden" message on mobile (#10370) * prevent long email addresses from breaking admin table layout * FEATURE: New plugin outlet for category-heading (#10363) * FIX: rewrite of `/my/`URL should work on sub directory site too. * FIX: rewrite of `/my/`URL should work on sub directory site too. * FIX: allows to change a user group notification level (#10369) * UX: Refactor pikaday month prev/next button styling * DEV: Fix watching plugin stylesheet changes locally * FIX: Previous fix comitted the wrong thing and was broken :( * FIX: Exclude shared drafts from digests * FIX: current value of flair icon missing in group manage UI * FIX: Load base color scheme when default theme is not set * REFACTOR: Move Page title / focus / counts logic to service * DEV: Use CSS custom properties for colors in core plugins * FEATURE: Invite emails to groups from add member modal (#10308) * UX: Refactor lightbox hover drop shadow * FIX: Check if selectable avatar with SHA1 * DEV: ensure 'posts:reorder_posts' rake task work on single topic * DEV: adds plugin api to add custom recipients of a post revision (#10367) * DEV: fix 'posts:reorder' rake task * PERF: Move URI regexp in `GroupSearchResults.blurb_for` into constant * DEV: Remove flaky secure optimized image spec * PERF: Remove one extra call to Redis when searching. * FIX: IMAP archive fix and group list mailbox code unification (#10355) * Update rails_failover to 0.5.5. * FEATURE: automatic dark mode (#10341) * Update rails_failover to 0.5.5. * FIX: discobot inappropriate flag section * DEV: Bump chunky_png from 1.3.11 to 1.3.12 (#10359) * DEV: Bump rack-mini-profiler from 2.0.3 to 2.0.4 (#10362) * DEV: Bump rbtrace from 0.4.13 to 0.4.14 (#10361) * DEV: new api to iterate through tracked topics * width fix for category chooser in move posts modal * FIX: bug with sharing when used outside a topic * FIX: Get correct selectable avatar from URL (#10339) * UX: Uniform focus styles for composer inputs/textarea (#10296) * DEV: Fix i18n deprecation warnings * Build(deps): Bump i18n from 1.8.3 to 1.8.5 * Revert "FIX: Regularly reset unknown extension of uploads" * FIX: Exclude `DELETE` methods from invalid request with payload. * FIX: Exclude `DELETE` methods from invalid request with payload. * UX: allows to navigate widget dropdown with tab and enter (#10356) * FIX: Reset max_posts query parameter (#10334) * Disable social media sharing on private categories, unlisted topics (#10349) * FIX: Respect query params for latest.rss (#10350) * SECURITY: 413 for GET, HEAD or DELETE requests with payload. * DEV: Bump rubocop-ast from 0.2.0 to 0.3.0 (#10353) * DEV: Refactor anonymouse cache spec. * FIX: set mailing_list_mode to false when unsubscribing from all (#10354) * DEV: merge 2 specs * SECURITY: 413 for GET, HEAD or DELETE requests with payload. * DEV: Refactor anonymouse cache spec. * DEV: Remove unnecessary rack patches. * DEV: Cover other case for generated message ID in Email::Receiver * DEV: Clarify Email::Receiver existing incoming email behaviour * FIX: IMAP sync email update uniqueness across groups and minor improvements (#10332) * DEV: allows to decouple csv-uploader texts from bulk invite (#10344) * DEV: Document private message api endpoints * Update README screenshots * FIX: Removes an error in the console in test mode * DEV: Improve q2a import script (#10346) * DEV: make rubocop 🤖 happy * DEV: prevent initialized constant warning * DEV: Show message when cannot invite user to PM (#10336) * Change pp to published-page (#10343) * DEV: add acceptance test for topic list * DEV: Live refresh all themes when watching stylesheets (#10337) * Rename options passed to Readability::Document back to whitelist and blacklist (#10340) * FEATURE: add expandable muted categories ui to `/categories` page. (#10303) * UI: Styling for Published Page (#10335) * DEV: Fix build * FEATURE: Show login button on error page if user is not logged in * FEATURE: g,j and g,k to navigate to next and prev topic * fix triple-click text selection in firefox * DEV: More color transformation refactoring * FIX: should allow non-ASCII slugs for category pages. * DEV: Refactor `dark-light-choose()` usage in SCSS * DEV: Refactor `.coldmap` styles * Build(deps): Bump rack-mini-profiler from 2.0.2 to 2.0.3 * FIX: Reset 'filter' query parameter when clicking on a nav-item (#10299) * FIX: Keep category name in URL when filtering (#10317) * FIX: Allow 'c' as a tag (#10305) * FIX: Define s3_helper in EnsureS3UploadsExistence job * PERF: Preload S3 inventory data for multisite clusters * DEV: change platform mri to platform ruby on some gems * FIX: Rename delete_when_reminder_sent? bookmark method to avoid conflict with AR (#10333) * FIX: add protection when removing auto delete on post bookmarks * DEV: No need to pause Sidekiq during backups. * DEV: Remove stray code that has been commented out. * DEV: Remove effectively unused `disable-no-hover` class * DEV: Reduce logging level when logging favicon download failures. * DEV: Refactor `scale-color()` usage in SCSS * Remove unused SCSS rules * FIX: Ensure topic user bookmarked synced on bookmark auto-delete (#10323) * FEATURE: Allow picture HTML element in posts * TopicView/PostSerializer should be able to handle topics without categories * Add color definition so bold/italic btn localization matches icon color * Remove darken & lighten functions from scss (#10330) * FIX: Allow playsinline for videos in posts * Handle topics without categories * FIX: Ensure correct locale is set during RenderEmpty responses * FEATURE - group modetators visual indicator (#10310) * REFACTOR: Remove `Discourse.__container__` from tests * DEV: Refactor `blend-primary-secondary()` usage in SCSS * FIX: reduces charts height (#10327) * FIX: prevents group show serializer to override basic group serializer (#10326) * FIX: Computed property deprecation * FIX: page:changed was sometimes reporting the wrong URL * DEV: Refactor `dark-light-diff` usage in stylesheets * FIX: Add back group redirects * FEATURE: allows to display charts by day/week/month (#10325) * FIX: Bump onebox to 2.0.1 for engine priority fix * FIX: Cooked snippet of raw in `Topic.similar_to`. * FIX: Handle case where `Post#raw` is blank in `Topic.similar_to`. * Make rubocop happy. * FIX: Improve `Topic.similar_to` with better `Topic#title` matches. * FIX: Improve allowed_path column migration (#10321) * FEATURE: Allow the specification of an arbitrary unicorn listen address * FIX: Resolve issue where deleted spam topics marked as Not Spam were not being recovered (#10322) * Build(deps): Bump excon from 0.75.0 to 0.76.0 * Follow-up Safari fixes for 89f6ff1 * Remove extra whitespace between d-button icon and text * DEV: Remove duplicate allowedPmUsernames property * Prevent topic title from clipping some characters due to overflow * Upgrade fastimage and remove our freedom patch * Build(deps): Bump unicorn from 5.5.5 to 5.6.0 * Build(deps): Bump oj from 3.10.7 to 3.10.8 * FIX: Avoid validation error when deleting users with locked trust level * FIX: uses topic title for published page head title (#10312) * DEV: Fix a function name typo * FIX: Reduce number of terms injected for host lexeme. * FIX: Improve regexp for matching version lexeme. * DEV: add CSS class for composer action * DEV: correct performance hack * FIX: Don't inject extra terms for version lexeme. * FIX: add a translation for reaction notification (#10316) * DEV: Add spec for searching for whisper posts. * FIX: reserve id for reaction notifications (#10315) * FIX: use allowlist and blocklist terminology (#10209) * REFACTOR: Remove `Discourse.SiteSettings` from upload.js * FIX: Tests that used the olds paths * FIX: Uploads was not testing properly * FIX: Pass `siteSettings` through in more places * REFACTOR: Remove `Discourse.SiteSettings` from uploads.js * Add deprecation for `Discourse.SiteSettings` in a helper * REFACTOR: Remove `Discourse.SiteSettings` from utilities * Remove old redirect rules * This initializer is not used anymore * REFACTOR: Remove `Discourse.SiteSettings` from clipboardData * REFACTOR: Remove `Discourse.SiteSettings` from text helpers * REFACTOR: Remove `Discourse.SiteSettings` from highlightSyntax * REFACTOR: Remove `Discourse.SiteSettings` from more lib-like helpers * Build(deps-dev): Bump parallel_tests from 3.0.0 to 3.1.0 * DEV: Improve docs for Sidekiq job assertion helpers. * Update rubocop to 2.3.1. * FIX: Add enable_email_sync_demon global variable and disable EmailSync demon by default (#10304) * Revert "Bump rubocop-discourse to 2.3.0." * Bump rubocop-discourse to 2.3.0. * FIX: Add strip_secure_urls method to GroupSmtpMailer * DEV: Fix incorrect description in spec. * DEV: Fix false positive tests. * PERF: Avoid parsing `Post#cooked` with Nokogiri for every search. * DEV: Refactor draft attributes for `CategoryList` and `TopicList`. * FIX: Do not show Email tab for group settings unless IMAP + SMTP enabled (#10301) * DEV: Remove unused fabrication. * DEV: Refactor reindex_search_spec. * FIX: tests for reindex_search_spec pass regardless of seed (#10297) * FEATURE - allow Group Moderators to edit category description (#10292) * DEV: Improve HTML structure for group-reports-nav-item outlet * DEV: upgrade mini_racer and libv8 * DEV: Allow developmental post search index versions. * DEV: upgrade mini_racer and libv8 * DEV: Add more granularity to `SearchIndexer` versions. * FIX: display correct status on unsubscribe page (#10294) * FIX: Move consts and translations for bookmark auto delete prefs (#10295) * FEATURE: Support converting HEIF images to JPEG (#10079) * Revert "PERF: Reduce size of search payload by removing unused topic attributes." * FEATURE: add tracked filter to topic lists * Build(deps): Bump bootsnap from 1.4.6 to 1.4.7 * DEV: Show failed to remove members from bulk groups api * UX: fix spacing of composer preview on mobile * REFACTOR: Allow helpers to access site settings * REFACTOR: Remove `Discourse.SiteSettimgs` from @setting decorator * REFACTOR: Remove `Discourse.SiteSettings` from lightbox.js * REFACTOR: Remove `Discourse.SiteSettings` from static route builder * REFACTOR: Remove `Discourse.SiteSettings` from `lib:search` * REFACTOR: Remove `Discourse.SiteSettings` from click tracking * REFACTOR: Remove `Discourse.SiteSettings` from Category model * REFACTOR: Remove `Discourse.SiteSettings` from desktop notifications * REFACTOR: Remove `Discourse.SiteSettings` from topic bulk actions * FIX: Restore navigation-bar on tag topic list * FIX: Include resolved locale in anonymous cache key (#10289) * FIX: Make set_locale an around_action to avoid leaking between requests (#10282) * FEATURE: Submit post from mobile composer preview (#10286) * FIX: Improve email styling of code blocks (#10248) * FEATURE: Add query params to staff action logs (#10279) * FIX: Remove iOS trick to prevent scrolling when focusing on input * FIX: Reviews that are auto-hidden by a trusted spam flagger should always have enough weight. (#10284) * FIX: Remove the border from YT thumbnail placeholder (#10288) * FIX: Apply video preview trick for Safari to stream only * Update wizard.scss * FIX: add system fonts to wizard * FEATURE: add support for `top` filter in tag page. (#10281) * DEV: annotate models * UX: Shrink composer consistently when pressing Done in iOS * FIX: Allow user to recover/delete post if they can review the topic (#10273) * FIX: Typo in `NotificationsController#index` not caught by tests. * FIX: Ignore removed delete_when_reminder_sent bookmarks column * FIX: Stop double prepending of window.location.origin on media URLs (#10275) * FIX: test for fillGapBefore (#10272) * FEATURE: Create logs for Group Moderator changes (#10271) * FIX: Remove `username_lower` from admin serializer * REFACTOR: Remove `Discourse.SiteSettings` from initializers * REFACTOR: Remove `Discourse.SiteSettings` from reply adapter * REFACTOR: Remove `Discourse.SiteSettings` from components * REFACTOR: Remove `Discourse.SiteSettings` from some controllers * REFACTOR: Remove `Discourse.SiteSettings` from search-result widget * REFACTOR: Remove `Discourse.SiteSettings` from nav-item * REFACTOR: Remove `Discourse.SiteSettings` from `PostCooked` widget * REFACTOR: Remove `Discourse.SiteSettings` from topic tracking state * REFACTOR: Remove `Discourse.SiteSettings` from post model * REFACTOR: Remove `Discourse.SiteSettings` from application controller * REFACTOR: Remove `Discourse.SiteSettings` from topic model * FIX: Keep by_users check in S3 inventory * FIX: delete synonyms in topics if target tag is already added. * FIX: Improve S3 inventory logic * DEV: Update rails_failover to 0.5.4 * DEV: Fix lint. * DEV: Consolidate Unicorn error backtraces when logstash is enabled. * DEV: Avoid logging Redis cannot connect error during failover. * FIX: gives emojis a width/height to prevent lazy loading warning (#10277) * linting (#10276) * DEV: Pause Sidekiq before readonly mode during PG failover. * FIX: Handle PG readonly mode in `Auth::DefaultCurrentUserProvider`. * DEV: Allow writes to PG even if Redis is readonly mode. * FIX: Don't raise error when adding to cache fails in readonly mode. * UX: Improve alignment and consistency on full page search * UX: Fix quote sharing button spacing * FEATURE: Add "delete on owner reply" bookmark functionality (#10231) * DEV: Clean up some extra wording * DEV: Relocate enable allowed PMs checkbox * FEATURE: Allow List for PMs (#10270) * FIX: Trigger before upload event after saving and before uploading it, so we are sure that the upload is valid. (#10269) * FIX: Users should be able to delete their own queued posts (#10265) * FEATURE: Allow group moderators to add/remove staff notes (#10252) * FIX: Focus tests are unreliable in qunit * FIX: Our test build of highlight.js was broken * FIX: Raw jQuery usage in tests * FIX: `deleted` is a computed property of Topic * FIX: Report was overwriting a CP * FIX: `category-drop` tests were broken and overwriting CPs * FIX: Overwritten computed properties * FIX: Missing favicon in test * Build(deps-dev): Bump test-prof from 0.11.3 to 0.12.0 * Build(deps): Bump rubocop-ast from 0.1.0 to 0.2.0 * DEV: re-enable test skipped in 7dce4bfd * SECURITY: Bound the amount of work that embed#topics can do * DEV: Remove the <details> polyfill (#10260) * FIX: Listing topics with muted mixed-case tags (#10268) * DEV: Enable preserve_email_structure_when_styling by default * DEV: Force ActiveRecord reading role on Redis failover take 2. * DEV: Force ActiveRecord reading role on Redis failover. * Bump logster. * Update rails_failover to 0.5.3. * DEV: Skip failing qunit test. * FIX: correct stream counter when load more posts (#10264) * Revert "UX: Style video elements, show descriptions (#10040)" (#10258) * FIX: Fewer broken image paths in tests * FIX: Don't use prototype extensions like `.observes` * FIX: Tests involving dates were logging warnings * FIX: `passwordRequired` is a computed property * FIX: Poll tests were overwriting a couple of computed properties * FIX: More 404 image requests in test * FEATURE: optional quote sharing buttons (#10254) * FIX: Error in test mode with missing `topic` * FIX: Don't load images that don't exist in test * FIX: tooltip is no longer used * FIX: `Discourse.Site` is deprecated * FIX: Show background images for both slug formats * FIX: missing title when inserting hyperlinks * DEV: Drop unsupported-browser plugin (#10261) * PERF: Combine avatar_lookup and primary_group_lookup into user_lookup (#10253) * FIX: Bookmark search fixes (#10239) * FIX: Reindex posts when `Topic#title` or `Category#name` changes. * FIX: add topic title back to choose-topic * FIX: update meh-o icon to far-meh (#10256) * Remove extra blank line * FIX: Be sure to use same units when comparing thumbnail size * FIX: Fewer 404s in JS tests * FIX: More errors being logged in tests * FIX: Deprecation `usernames` is now `recipients` * FIX: Remove more computed properties being set * FIX: deprecation - `usernames` is now `recipients` * FEATURE: Add scopes to API keys (#9844) * FIX: Overwriting more computed properties * FIX: Remove computed property setting from hamburger test * FIX: Don't use jQuery directly in a test * FIX: Setting computed properties in tests * Update ember source * FIX: Removal of i18nPrefix deprecations * FIX: Remove user_deleted when staff recovers post (#10245) * FIX: : trigger `user_updated` event only if email changed after user creation. * DEV: Switch from Transifex to Crowdin * FEATURE: trigger `user_updated` event if email changed. * DEV: correct some Ruby 2.7 deprecations * FIX: `in:title` search should only search through topic first posts. * PERF: Reduce size of search payload by removing unused topic attributes. * FIX: Search page bulk-select button position * FIX: count new and unread respects muted categories (#10131) * DEV: Ignore order of categories in search spec. * FIX: Prevent thumbnail gen if image too large (#10247) * FEATURE: Improve header meta alignment and truncation with css grid (#10238) * FIX: apply video preview workaround to iOS * Let category rows occupy full width when editing topic title w/ no tags * FEATURE: load hidden posts in segments (#10240) * FIX: regression in secure URL generation, followup to 36bad0c * FIX: Preload metadata for audio/video when secure media enabled * FIX: Trick Safari into loading video previews (#10244) * FIX: Off-by-one-slash error in topic.notifications.reasons (#10246) * FIX: add noindex header to user summary page. * FIX: Don't overwrite `maxlength` computed property * FIX: `loaded` is a CP and can't be overwritten * FIX: Silence route-recognizer source map errors in development mode * FIX: Silence ember-qunit source map warning * FIX: Add popper sourcemap * FIX: Properly load ember source map in development mode * FIX: Can't set `url` on topics, it is calculated from slugs * FIX: Error with `currentCategory` * FIX: filterPlaceholder is a computed property * FIX: `topic.details` is not a plain JS Object * REFACTOR: Remove less effective method of injecting `siteSettings` * REFACTOR: Remove `Discourse.SiteSettings` from user/admin-user * REFACTOR: Invite modal panels init, actions, and styling (#10242) * Revert "PERF: Move highlightjs to a background worker, and add result cache (#10191)" * FIX: Allow highlightjs-worker to be compiled successfully * PERF: Move highlightjs to a background worker, and add result cache (#10191) * DEV: Fix fixtures (#10241) * FIX: Ignore document length in search when ranking by relevance. * FIX: prevent redirect when image scale btn is inside a link. * FIX: Search by relevance may return incorrect post number. * FIX: add protection just in case topic is not set * MODAL: Align the close button with other header elements (#10222) * Revert "DEV: Add debug hint in discourse-markdown-it" * DEV: Add debug hint in discourse-markdown-it * DEV: Bump zeitwerk from 2.3.1 to 2.4.0 (#10236) * DEV: 2 plugin outlets for group views (#10233) * FEATURE: Allow video tag attributes for video gifs * FEATURE: Allow group moderators to close/archive topics * FIX: Correct user profile URLs in `/about` crawler view * added 'addFeaturedLinkMetaDecorator' method to the plugin api (#10232) * DEV: Add timestamp columns to optimized_images table (#10199) * DEV: Use a longer TTL for pg readonly mode. * FIX: Strip query from URLs when indexing for search. * FIX: Inject extra lexemes for host lexeme. * FIX: Search for whole URLs wasn't working. * FEATURE: Add hidden site settings for discobot to skip certain tutorials * DEV: Prefer `fab!` for discobot specs. * DEV: pin the rotp gem * FIX: improvements for vanilla bulk import (#10212) * DEV: Bump rubocop from 0.87.1 to 0.88.0 (#10226) * FIX: Ensure that aggregating search shows the post with the higest rank. * DEV: Fix search specs to take note of order in assertions. * FEATURE: Add search to user bookmark list (#10230) * FIX: Various improvements to bookmark modal UI (#10225) * FIX: Incorrect search blurb when advanced search filters are used take2 * FIX: Get only the correct collapse title in emails (#10228) * PERF: topic_view participant post count: don't send back ID list (#10210) * DEV: Bump oj from 3.10.6 to 3.10.7 (#10227) * topic-admin-menu shouldn't be fixed width on mobile * FIX: Don't strip `noopener` from oneboxes * Build(deps): Bump multi_json from 1.14.1 to 1.15.0 (#10215) * FIX: Don't award new user of the month in the wrong month * FIX: Remove social sharing icons from private contexts (#10213) * PERF: Cache user summary data * PERF: Add user_id condition so we can use another index in the query * DEV: Add spec for summary links * DEV: Add external_id to notification payload * DEV: Fix search rate limit tests * FEATURE: Add global rate limit for anon searches (#10208) * Build(deps): Bump cose from 1.1.0 to 1.2.0 (#10223) * DEV: Merge category and tag hashtags code paths (#10216) * Build(deps): Bump rubocop-rspec from 1.41.0 to 1.42.0 (#10207) * FIX: Check if last poster exists before using it * Build(deps): Bump rake-compiler from 1.1.0 to 1.1.1 (#10206) * FIX: Set the lang/xml:lang html attrs in emails (#10218) * Fix the build. * UX: better error message if moderator is not allowed to invite to group * DEV: use group_ids instead of group_names in invite params * DEV: Allow displaying both title and panels in modals (#10220) * FIX: Skip whisper posts when updating topic like count (#10157) * DEV: Fix error introduced in d5c56a846. * FIX: Slightly reduce fake delay of discobot user. * FIX: last visit bar regression (#10224) * DEV: widget-dropdown CSS tweaks (#10219) * DEV: Add rawTitle property support to modal-tab (#10221) * DEV: Add more API Doc specs for topic endpoints * FIX: Allow signup when auth provider supplies no email * FIX: Replace links to removed uploads from reviewables with a placeholder (#10180) * FIX: Do not display enabled inputs when username/name are locked * FEATURE: Implement support for IMAP and SMTP email protocols. (#8301) * FIX: Sync client and server side behavior for category hashtag lookup * FIX: Post menu bookmark icon and attributes not refreshing on notification click (#10214) * FIX: Migrate topic_users.bookmarked to false when it is incorrectly true (#10211) * DEV: Remove Google+ icon from sprite * DEV: Remove text-ellipsis component and use CSS line-clamp instead (#10196) * DEV: Fix search rate limit tests * DEV: Document set notification level endpoint * FEATURE: Add global rate limit for anon searches (#10208) * DEV: Add SVG tests for 31e31ef44 (#10205) * DEV: Classes and plugin-outlet in admin user-list nav (#10204) * Remove `Discourse.SiteSettings` from tests (#10193) * FIX: Test output related to `Discourse::VERSION` * FIX: Flaky test * Build(deps): Bump cose from 1.0.0 to 1.1.0 (#10203) * FIX: Flaky tests * FIX: Incorrect fix for invites breaking when no group is selected (#10202) * FIX: Invites when no group is selected (#10201) * Revert "FIX: Incorrect search blurb when advanced search filters are used." * FIX: Catch all kinds of exceptions when processing email * Revert "DEV: Add logging for stack level too deep exception in HtmlToMarkdown" * FIX: Short URL resolution in cook-text (#10200) * DEV: Add logging for stack level too deep exception in HtmlToMarkdown * PERF: Load topic bookmarks for the user in user_post_bookmarks (#10197) * SECURITY: Add content-disposition: attachment for SVG uploads * DEV: Only failover the entire cluster when the default db goes down. * SECURITY: Add content-disposition: attachment for SVG uploads * FIX: Force ActiveRecord reading role if Redis is down take 2. * FIX: Force ActiveRecord reading role if Redis is down. * Revert "FIX: Delete related search data when record has been deleted." * UI: Markdown Code Wrapping (#10195) * DEV: Rubocop fixes * DEV: Add API Doc specs for topic endpoints * Support plugin and Theme compatibility version manifests (#9995) * Revert "Add License" * Add License * UX: Fix missing icon when merging selected posts * FIX: Do not send system emails to suspended users (#10192) * UX: Use group-chooser in invite modal (#10186) * FIX: `getURL` deprecation * FIX: 'resend all invite' button was not working as expected * DEV: Added before-create-topic-button plugin-outlet (#10109) * DEV: Add classes to quick-access-profile items (#10185) * FIX: Cap bookmark name at 100 chars and truncate existing names (#10189) * DEV: upgrade rack to version 2.2.3 * DEV: upgrade rails to version 6.0.3.2 * FEATURE: Parse images in email signatures (#10137) * FIX: Stop updating bookmarked column from TopicUser.update_post_action_cache (#10188) * FIX: Incorrect search blurb when advanced search filters are used. * Build(deps): Bump rubocop from 0.86.0 to 0.87.1 * Build(deps): Bump onebox from 1.9.29 to 1.9.30 * FIX: Disable security keys at same time as TOTP 2FA (#10144) * DEV: Plugin API function to add items to quick access profile (#10182) * UX: Fix layout for long bookmark notes * FEATURE: Add "smallest" option to user text size preferences * DEV: ensure discobot has a user_option & user_profile * FIX: Bookmarks shortcut goes to new bookmarks with reminders (#10181) * FIX: Do not highlight large code blocks (#10125) * FEATURE: Add reply_as_new_group_message composer action (#10168) * FEATURE: Create SQL-only backup if there are no uploads * FIX: Set default value for poll result field (#10178) * DEV: Fix flaky test * FIX: Redirect user to the URL with the correct category slug (#10167) * Revert "DEV: flexify post actions (#9926)" * UX: simplifies editing email templates by always having a default (#10179) * FIX: ensures category order keeps consistent (#10165) * DEV: Simple formatting fix. * SPEC: use post number to create canoncial path in mega topics. * FIX: add table CSS rules to normalize (#10176) * DEV: Add extra appEvents to composer workflow * Revert "FIX: Set default value for poll result field (#10044)" * FIX: Fix race condition when resolving tag and category hashtags (#10153) * UX: Add link to user email preferences in admin view (#10169) * FIX: Improve category hashtag lookup (#10133) * DEV: flexify post actions (#9926) * FIX: Set default value for poll result field (#10044) * Minor follow up fix to 4f12768 for mobile * UX: Remove extra space added by img resize controls in composer preview * Support plugin and Theme compatibility version manifests (#9995) * FIX: Generate Topic Thumbnails nil to Array error * DEV: Fix OptimizedImage specs * FIX: Handle the case where upload goes missing during downsizing * DEV: Cleanup PostActionType and ReviewableScore changes in tests * DEV: couple bug fixes in getsatisfaction importer * PERF: Remove post_upload recovery in daily EnsureS3UploadsExistence job (#10173) * FIX: Do not rerender widget-dropdown on all clicks (#10100) * FIX: CookText may be gone before promise resolves (#10097) * FIX: `OptimizedImage#filesize` (#10095) * DEV: Update method documentation in lib/computed.js (#10172) * Build(deps): Bump nokogiri from 1.10.9 to 1.10.10 (#10171) * UX: restore table borders * DEV: Refactor basic-topic-list to use topic-list-item on mobile (#10105) * Restore 'pointer' cursor on buttons * FIX: Make Email::Styles operate on html documents instead of fragments * PERF: Do not include thumbnail information in default topic list payload (#10163) * FEATURE: Optionally skip the create account popup for external auth * UX: Hide login button during externally authenticated account creation * FEATURE: sso_overrides_(email|username|name) for all auth methods * DEV: Refactor Auth::Result for readability, recreate during signup flow * DEV: allows autocomplete to be debounced (#10166) * FIX: ensures seconds are displayed when used with dates (#10170) * PERF: use post number to create canoncial path in mega topics. * DEV: Add commit to ignore for git blame. * DEV: correct regression and correct tests * UX: suppress "in reply to" section in emails by default * PERF: only update etag when it changes * FIX: update normalize css from 3.0.1 to 8.0.1 (#10141) * FIX: skip hidden posts while generating canonical url. * DEV: Instance#replace_flags block should be optional * FIX: uploading an existing image as a site setting * FIX: uploading an existing image as a site setting * DEV: after_extract_linked_users hook for plugins to modify user list * Build(deps): Bump rubocop-rspec from 1.40.0 to 1.41.0 (#10164) * FIX: uploading an image as a site setting * FIX: uploading an image as a site setting * FIX: emoji autocomplete not triggering correctly * FIX: Increase time of DOWNLOAD_URL_EXPIRES_AFTER_SECONDS to 5 minutes (#10160) * FIX: Negative limit values shouldn't cause error 500 (#10162) * FIX: Delete related search data when record has been deleted. * FIX: return cdn url for uploads if available. * FIX: Support root paths that omit the trailing slash and have QPs * FIX: Search was not multisite aware * PERF: cache all metadata for 60 seconds * FIX: Sometimes not all output of psql was logged during restores * FIX: emoji_autocomplete_min_chars failing when not 0 * FIX: update theme fields when updating from ThemesInstallTask (#10143) * FIX: identify slug-less topic urls everywhere * FIX: Serialize an empty array if no suggested topics exist (#10134) * FIX: Broken specs * FIX: Remove paths from robots.txt in favor of noindex header * FIX: match discobot triggers on cooked version * FIX: invalid urls should not break store.has_been_uploaded? * FEATURE: allow disabling of extra term injection in search * PERF: stop adding more topics to search when not needed * FIX: Avoid marking notifications as seen in readonly mode. * FEATURE: trigger `user_updated` event if username is changed. * FIX: Negative limit values shouldn't cause error 500 (#10162) * DEV: Plugins can extend ReviewableScore types. (#10156) * Build(deps): Bump diff-lcs from 1.4.3 to 1.4.4 (#10155) * FIX: Filter read/unread notifications on the server side (#10152) * PERF: Refactor lightbox decorator to use querySelectorAll (#10158) * Fix typo. * DEV: Add hidden site setting for PG search ranking normalization. * FIX: Delete related search data when record has been deleted. * UX: Truncate long badge names in the mobile usercard * FIX: return cdn url for uploads if available. * FIX: Support root paths that omit the trailing slash and have QPs * PERF: Check for modal visibility in a more efficient way * UX: Add Login button on 403 error page if user is not logged in (#10154) * FIX: Search was not multisite aware * PERF: Exclude `image_url` and `thumbnails` from `SearchTopicListItemSerializer`. * DEV: Ignore commit where we added rubocop. * DEV: Remove logster current context config. * PERF: cache all metadata for 60 seconds * Build(deps): Bump mini_sql from 0.2.5 to 0.3 (#10122) * DEV: Add group name as class to group-box (#10150) * FIX: Hide publish_read_state option from non-admin users (#10148) * FIX: Uploads cannot be mapped due to the cook-text's element attr being null (#10136) * FIX: Sometimes not all output of psql was logged during restores * Build(deps): Bump diff-lcs from 1.4.1 to 1.4.3 (#10145) * Build(deps): Bump json from 2.3.0 to 2.3.1 (#10147) * Build(deps): Bump zeitwerk from 2.3.0 to 2.3.1 (#10146) * FIX: Correct version comparison logic when comparing stable to beta (#10135) * FIX: emoji_autocomplete_min_chars failing when not 0 * FIX: update theme fields when updating from ThemesInstallTask (#10143) * FIX: Uploads cannot be mapped due to the cook-text's element attr being null (#10136) * FEATURE: Site setting to always show category definitions (#10124) * Build(deps): Bump mini_racer from 0.2.14 to 0.2.15 (#10142) * Revert "DEV: Remove useless code (#10130)" * FIX: identify slug-less topic urls everywhere * FIX: Correct version comparison logic when comparing stable to beta (#10135) * DEV: Remove useless code (#10130) * import pkuczynski public key for RVM install (#10140) * DEV: Avoid logging errors on bad Redis connection during PG failover. * DEV: Prefer `fab!` over `let!`. * DEV: Refactor seed data filter * FIX: Serialize an empty array if no suggested topics exist (#10134) * Build(deps): Bump rubocop-ast from 0.0.3 to 0.1.0 (#10132) * SPEC: add spec to ensure discobot works in French * DEV: Run seeds irregardless of post deploy migration flag. * Revert "FIX: Seed needs to run before optimizing site icons." * FIX: Seed needs to run before optimizing site icons. * FIX: published-page-header should be a sibling to published-page-body not a parent (#10126) * FIX: published-page-header should be a sibling to published-page-body not a parent (#10126) * DEV: Add a basic licensed config (#10128) * DEV: add class to body of no_ember layout so it can targeted in CSS * DEV: Add knowledge-explorer to official plugin list (#10127) * FIX: Broken specs * FIX: Remove paths from robots.txt in favor of noindex header * DEV: Add skip seed flag (#10116) * Build(deps-dev): Bump mock_redis from 0.24.0 to 0.25.0 (#10123) * FIX: match discobot triggers on cooked version * FIX: invalid urls should not break store.has_been_uploaded? * FEATURE: allow disabling of extra term injection in search * PERF: stop adding more topics to search when not needed * DEV: Rescue from ActiveRecord::Readonly error in lograge. * FIX: Avoid marking notifications as seen in readonly mode. * Version bump to v2.6.0.beta1 * Version bump to v2.5.0 * Merge diffs from master * Update translations * FIX: properly invalidate inline oneboxes when rebaking * FIX: ensures moderation history is accessible from topic/post admin menu (#10118) * FIX: Use correct URL for unsubscribe (#10077) * DEV: improve verbose mode for reindexer * FIX: skip category notification_level unless scoped * DEV: Make component-test `afterEach` async aware (#10099) * FIX:Add migration to delete tracking state for staged users (#10083) * FIX: Use Discourse.system_user when we need a placeholder admin (#9781) * FIX: advanced tutorial errors when all categories are secured (#10111) * FEATURE: Add after-user-name plugin outlet (#10113) * DEV: add optional verbose logging to re-index job * FIX: Bump onebox for twitch video and clips embedding fix. * Build(deps): Bump excon from 0.74.0 to 0.75.0 * Build(deps): Bump diff-lcs from 1.4 to 1.4.1 * FIX: Prevent typing "#" when showing "Jump to…" * UX: Make youtube embeds full width by default (#10106) * Build(deps): Bump diff-lcs from 1.3 to 1.4 (#10112) * FIX: onebox local topic when using slug-less URL * Build(deps): Bump rails_failover from 0.5.1 to 0.5.2 (#10107) * DEV: Remove accidentally committed `puts` statements * DEV: Reduce size of begin-rescue region * DEV: Allow multisite apps to boot with readonly db. * DEV: Retry on distributed mutex timeout error when starting sidekiq. * FIX: Use ActionDispatch::Http::ContentDisposition for uploads content-disposition (#10108) * DOCS: remove thin from copyright * DEV: Print proper summary when errors have been reporter in turbo_rspec * DEV: Remove specs that are no longer relevant. * FIX: `TurboTests::Runner` not failing on errors. * Bump rails_failover to 0.5.2. * FIX: Use a mutex when reseting column information while seeding. * FIX: `multisite:migrate` failing to properly seed data. * Revert "FIX: These tests are broken" * FIX: These tests are broken * FIX: Don't raise an exception if we can't update the user on demotion * FIX: Use raw content when checking for watched words to flag (#10104) * Build(deps): Bump rubocop from 0.85.1 to 0.86.0 (#10103) * Build(deps): Bump parser from 2.7.1.3 to 2.7.1.4 (#10096) * FIX: Pass local scope variable to inner function * FEATURE: Check if selectable avatars exist before enabling them (#10032) * FIX: Hide PM tags if the site setting is disabled (#10089) * FIX: Fix select kit size (#10094) * Fix the build. * FEATURE: Remove deprecated uploads url site settings. * FIX: Improve admin permalink UX (#10101) * DEV: Import `I18n` in standard plugins (#10098) * DEV: Fix typos in tests * FEATURE: Import script for jForum * Update translations * remove inaccurate comment, follow up to c028936 * Safari icon fix, follow up to 5cc0369 * FIX: Do not attempt to pull_hotlinked on emoji images when CDN enabled (#10091) * FIX: A variable name typo * DEV: various bugfixes in bulk importer * DEV: Add classes to admin customize nav items (#10092) * FIX: Delete PostUploads on Post deletion (#10090) * FEATURE: Don't display muted/ignored users under "who liked" (#10084) * FIX: handle heroku style HTTP_X_REQUEST_START (#10087) * Revert "FIX: Do not attempt to pull_hotlinked on emoji images when CDN enabled" * DEV: Update ImageMagick version in CI (#10080) * FIX: Handle invalid URLs gracefully when pulling hotlinked images * FIX: Do not attempt to pull_hotlinked on emoji images when CDN enabled * FIX: Guardian#can_remove_allowed_users? shouldn't break for ownerless topics * FEATURE: allows to have header/footer in publshed pages (#10067) * FIX: Do not incorrectly add topic bookmark on Escape (#10088) * minor fix to post admin menu button class * DEV: move user references deletion code to `before_destroy`. (#10085) * FIX: Do not change tracked categories for staged users (#10076) * FIX: Allow multiple hyphens in host (#10078) * FIX: A much nicer error message if you can't ignore/mute a user * UX: Ignore modal margin was too tight * FEATURE: Add `before_email_send` event * DEV: ensure values are converted to integers in bulk importer * make unix domain sockets listening example match web.socketed.template.yml (#10060) * Build(deps-dev): Bump mock_redis from 0.23.0 to 0.24.0 (#10075) * FEATURE: allows to ignore a user forever (#10074) * DEV: allow to have duplicate topic titles if categegory is different (#10034) * DEV: Plugin outlet after user-info (#10072) * Build(deps): Bump aws-sigv4 from 1.1.4 to 1.2.0 (#10070) * PERF: improve loading of indexes in bulk import * FIX: Hide the post history for TL4 (#10065) * DEV: Deprecate Category#url_with_id in favor of Category#url (#9972) * FIX: Do not show Add or Change buttons if email is not editable (#10068) * fix spec (#10069) * minor copyedit on site setting description * UX: Include category name in hyperlink modal results on mobile * DEV: Add test (#10066) * DEV: Add test (#10064) * FIX: Show unconfirmed emails too when checking emails (#10062) * FIX: Muted/Ignore should prevent PMs regardless of case sensitivity * ARIA - add aria-label on topic input and post textarea (#10057) * DEV: Use short_date helper for email post template (#10063) * FIX: Cleanup migrations with timestamps in the future * FIX: Restore missing translation keys * fix spec (#10061) * FIX: Do not send staff welcome message if user already has role * FEATURE: allows published pages to be public (#10053) * UX: Style video elements, show descriptions (#10040) * FIX: Prevent producing "undefined" strings (#10042) * DEV: Added topic-list-after-title outlet in the mobile template (#10059) * FIX: Thread safety issues with `multisite:migrate` and `SeedFu`. * DEV: Remove rubocop_todo which doesn't seem to work with plugins. * DEV: Make rubocop happy. * DEV: Load rubocop_todo after default config. * Update rubocop_todo. * Upgrade rubocop and generate rubocop todo. * DEV: Properly reset column information before seeding. * FIX: select-kit components not being hidden. * Build(deps): Bump sanitize from 5.2.0 to 5.2.1 * Build(deps): Bump loofah from 2.5.0 to 2.6.0 * FIX: Add attachment content-disposition for all non-image files (#10058) * FIX: add table name to topic view query (#10052) * Always require pry gems in rails_helper * FEATURE: new category-list-above-each-category plugin outlet (#10037) * FIX: Allow plugins to provide test directories with transpiled `.js` * PERF: improve loading a imported_ids in bulk imports * Revert "DEV: Remove the remaining ENV["TRAVIS"] usage (#10041)" * DEV: Remove the remaining ENV["TRAVIS"] usage (#10041) * Build(deps): Bump excon from 0.73.0 to 0.74.0 (#10046) * FIX: Allow opening FAQ in a new tab (#10039) * UX: Improve revert label in post history modal (#10038) * Build(deps): Bump aws-sdk-sns from 1.23.0 to 1.25.1 (#10033) * Build(deps): Bump rubocop-rspec from 1.39.0 to 1.40.0 (#10029) * add showPreview to composer fields plugin outlet (#10019) * Build(deps-dev): Bump parallel_tests from 2.32.0 to 3.0.0 (#10018) * FIX: Restoring backup from PG12 could fail on PG10 * Locale checks were disabled by mistake * FIX: Ensure users can confirm new emails using security keys * FIX: Fill acting_user field instead of target_user in history * DEV: Fix build * FIX: secondary_emails, unconfirmed_emails, group_users are private fields * FIX: Change version of incorrect datetime migration (#10051) * copyedit on push icon help text * DEV: Disable Redis warnings. * DEV: Don't use logster when logging in Redis failover. * DEV: Fix undefined method due to rails_failover. * DEV: Bump rails_failover. * DEV: Allow plugins to exclude seed data * FIX: Do not count youtube thumbnail when counting post images (#10049) * FIX: Keep onebox styling in edit history * Bump sanitize from 5.1.0 to 5.2.0 (#9996) * DEV: Use postgres 12 in GitHub Actions CI (#10043) * FIX: check for inviter group permissions at the time of redeeming invite * DEV: Make rails_failover compatible with `SKIP_DB_AND_REDIS` env. * DEV: Fix undefined method. * DEV: Don't configure rails_failover is db and redis is skipped take 2 * DEV: Don't configure rails_failover is db and redis is skipped. * DEV: Use rails_failover gem for ActiveRecord and Redis failover handling * FIX: process /invites/ route from server side only * DEV: Switch to db config to disable advisory locks. * FEATURE: Add "Now" as an option (default hidden) to the future date input selector (#10047) * DEV: Upgrade Redis to 4.2.1. * DEV: Fix a composer state leak in tests * Update translations * Build(deps): Bump logster from 2.8.0 to 2.9.0 (#10035) * FIX: Get correct right/left offset for topic progress bar on compose * Save button alignment fixes for admin badge page * Center align items in select kit headers * Usercard buttons on mobile should utilize full width * Allow multiple groups which can vote when creating a poll (#10015) * FIX: Load I18n first in show_confirm_new_email page * FIX: Hide bootbox after a negative answer (#10028) * FIX: allows PM owner to remove any user if >= TL2 (#10036) * FEATURE: include tags in unread/new messages * DEV: Increase log level for `/srv/status` route. * UX: Send background color to iPad app too * FIX: do not migrate backups in the new prefix * Fix tests. * DEV: Remove double query in `Group#remove_review_group`. * DEV: No longer need to clear anon cache when toggling readonly mode. * FIX: Preload readonly mode attribute seperately. * DEV: Disable better_errors by default. * DEV: Pass the is_image flag when triggering the before_upload_creation event (#10031) * FIX: Improvements and fixes to the image downsizing script (#9950) * FIX: Allow users to add emails which were deleted before * FIX: Show tag count for existing tags (#9892) * DEV: Correct historical badge and user_badge index discrepancies (#10017) * DEV: Correct historical posts table schema discrepancies (#10014) * FIX: prevents emoji in links to appear as large emojis (#10027) * DEV: Use `Rails.logger` instead of logster for rails_failover callbacks * DEV: Don't use logstash for unicorn if ENV is blank. * DEV: Bump ffi from 1.13.0 to 1.13.1 (#10006) * FIX: Ignore Redis readonly errors in `RateLimiter#rollback!`. * FIX: present correct new/unread counts when filtered by tag * Bump onebox version. * DEV: Fix deprecation warning when using `Redis#close` with redis namespace. * DEV: Rescue errors when runngin AR failover/fallback callbacks. * DEV: Fix undefined method in rails_failover initializer. * DEV: Run `apt-get update` before installing packages on CI. * DEV: Don't blow up request redis can't be reached during failover. * DEV: Log error backtrace in `Discourse.warn_exception` without logster. * DEV: Add stub flush_sw task to prevent rebuild errors (#10021) * DEV: Trigger an event before creating an upload * DEV: Plugin outlet at top of user preference interface (#10020) * DEV: Include raw in post webhook serializer * Version bump to v2.5.0.beta7 * FEATURE: Improve UX support for multiple email addresses (#9691) * Update translations * DEV: Improvements to Drupal script (#10016) * FIX: Use include-subcategories filter in report export (#10007) * FIX: MigrateInviteRedeemedDataToInvitedUsers should be normal migration (#10013) * minor copyedit on category setting options. * REVERT: partly revert change to ensure context is the same (#10012) * Revert "Bump redis to 4.2.0." * Bump redis to 4.2.0. * DEV: Allow multisite apps to boot with reading connection handler. * PERF: enable bootsnap globally * copyedit: make it more clear PMs are blocked by ignore and mute * FIX: Return 400 when invalid topic_id is provided when creating invite. * DEV: Render a proper response that can be handled on the client side. * FIX: flaky post_alerter_spec.rb because of missing order (#10000) * FIX: prevent re-flagging when we have reviewed flags before (#10010) * FIX: Don't call cooked decorators in composer if cooked is unchanged * FIX: add attributes of `params` to topic `findOpts`. * DEV: allows to call a widget function without re-rendering the widget (#10004) * linting (#10008) * FIX: Allow merging users when email domains are restricted * DEV: allows to prepend widgets to post nav controls (#10005) * DEV: adds mouse{Over,Out} and touch{Start,End} to widgets (#10003) * FIX: don't show create topic suggestion to users who can't * FEATURE: multiple use invite links (#9813) * DEV: Remove non-existent option from setup-ruby Github action * DEV: Add user-card-additional-buttons plugin outlet * DEV: Fix incorrect messagebus redis config for rails_failover. * DEV: Remove Redis noop logging. * DEV: Redis failover should only clear redis recently readonly. * DEV: correct flaky test relying on possibly valid user id * FIX: emoji autocomplete triggering incorrectly * Bump message_bus to 3.3.1. * FIX: Change bookmark name "name" attr to disable autocomplete * UX: Improve layout of topic pin admin modal * FIX: Enforce maximum of 100 years on all site settings counted in days (#9991) * DEV: Print backtrace of error when plugin fails to initialize. * FIX: update minimum required tag when switching categories in composer * FIX: don't override category text color in dropdown * FIX: Restore stream position in safari (#9993) * FIX: Reply notifications should not appear as edited (#9965) * FIX: ensures edit-category-setting is correctly casting boolean (#9999) * DEV: Do not attempt to change schema of posts table * DEV: Do not attempt to change schema badge_posts view * DEV: Correct historical schema discrepancies (#9955) * PERF: Cache PrettyText instance for rendering composer preview (#9987) * Bump rails_failover. * DEV: Remove unused routes * FIX: Redirects containing Unicode usernames didn't work * DEV: Disable messageBus keepalive when Redis fails over. * Bump rails_failover. * Update rails_failover. * Bump rubocop from 0.85.0 to 0.85.1 * clarify on supported Linux distros * REFACTOR: Remove jquery usage from resolveAllShortUrls, and fix debounce * DEV: makes SKIP_INSTALL_PLUGINS called last and global (#9990) * DEV: Remove attachment css handling from resolveAllShortUrls * Bump email_reply_trimmer from 0.1.12 to 0.1.13 (#9980) * FIX: `(getURL "")` was not working with the `i18n` helper * PERF: Pass element to resolveAllShortUrl function, not text selector (#9988) * PERF: Correctly memoize baseUri value in javascript app (#9986) * DEV: Remove htmlparser dependency (#9981) * DEV: allow skipping of a single plugin when installing * DEV: Make git ignore cosmetic commit * DEV: Fix indentation for routes.rb * DEV: Add pry-byebug and optionally require pry behind a ENV var for better spec debugging (#9984) * FIX: use `short_path` of flair upload to get signed url for secure media. * UX: add bottom padding to user lists on mobile * UX: Change collapsed draft z-index on mobile * DEV: Silence all freedom patches trace in verbose query logs. * DEV: Update rails_failover to avoid monkey patching Rails config. * Move UploadSecurity public types into PUBLIC_TYPES constant * icon color fix, follow-up to 5cc0369 * Minor dropdown icon width fix * FIX: Service Worker URL was broken * DEV: removes unecessary casting (#9982) * PERF: rate limit search, and add anon cache for search results (#9969) * UX: Add simple-list setting type (#9970) * FEATURE: Support append when bulk tagging via rake (#9978) * DEV: Fix moving of rails_failover middleware. * FIX: client side /my/ redirects were appending extra slash * DEV: Fix lint. * DEV: Update rails_failover so that we can move middleware up the stack. * DEV: Pausing Sidekiq is multisite aware. * Bump rails_failover. * DEV: removes brittle test (#9977) * DEV: notify when the rake ask is completed * FIX: base import script was not updating first_post_created_at column FEATURE: new rake task to update first_post_created_at column * DEV: Remove `initiating_user` keyword arg from `EmailUpdater`. * copyedit, better email reply rejection copy * FIX: Rescue from readonly errors when looking up auth tokens. * FEATURE: Add uploads:batch_migrate_from_s3 task to limit total posts migrated at once (#9933) * FIX: Inline error when converting html to markdown * DEV: Check English locale for errors in CI * DEV: Reorder appending extra header icons (#9973) * FEATURE: category setting for default list filter. (#9975) * New `bootstrap.json` endpoint for starting up Discourse * DEV: Move `Discourse.getURL` and related functions to a module (#9966) * FIX: prevents false boolean param to be filtered as non existant (#9968) * FIX: hide rss feed & json if a user profile is hidden. * Bump connection_pool from 2.2.2 to 2.2.3 (#9967) * DEV: Use `safe_each_connection` patch when preloading Rails. * DEV: Update rails_failover. * PERF: add FORCE_BOOTSNAP env var * DEV: Fix race conditions due to directory removal for uploads spec. * UX: Ensure that `select-kit` is hidden consistently. * FEATURE: whitelist theme repo mode (experimental) * FIX: `EmailValidator` needs to validate format of email. * Small fixes to image uploaders * Revert "DEV: makes autocomplete debounced (#9941)" * Use an em-based width for better scaling with font-size changes * Add missing text back in * FIX: Broken MessageFormat string * DEV: Skip interpolation key specs until build scripts can be fixed * DEV: Use consistent interpolation key format in translations * DEV: Plugin api for adding extra header icons (#9964) * FIX: If creating a flag for a watched word, include the reason * FIX: Prevent clipping user mentions (#9962) * DEV: Add `REDIS_RAILS_FAILOVER` env to test our new redis failover. * Update `rails_failover`. * Bump rails_multisite to 2.2.2. * DEV: Drop unused image_url column from posts and topics (#9953) * FIX: Do not destroy $.fileupload element (#9888) * FIX: Staff users can bypass tag validation rule (#9924) * DEV: makes autocomplete debounced (#9941) * FIX: catch NoMethodError during precompile_css too (#9940) * DEV: Bump rubocop from 0.84.0 to 0.85.0 (#9960) * DEV: Add silencer for verbose query logs in development. * PERF: Reduce number of queries from 3 -> 1 when fetching web manifest. * DEV: Avoid reaching for `Redis#_client` which is considered deprecated. * DEV: Actually disconnect from Redis connections after fork. * DEV: Enable readonly mode for all multisite sites when PG goes down. * Fix lint. * DEV: Refactor away conditionals that we don't need. * DEV: Prefer `create!` over `create` when not checking return value. * UX: prevent devices from miscalculating fullscreen composer height * DEV: when synchornizing state pull tags * DEV: Pause Sidekiq when forcing pg readonly mode. * FIX: Digest frequency issue on user creation * Remove discourse constants (#9958) * FIX: Only render group card if user title is from group (#9946) * Version bump to v2.5.0.beta6 * Version bump to v2.4.5 * Update translations * DEV: Add option to only show icons to header widget (#9935) * FIX: Support exporting reports which reference topics (#9957) * DEV: Restore default_list_filter column migration * FEATURE: New plugin outlet under badges page title (#9936) * DEV: Better error handling for destroy:users task (#9939) * Drop support for outdated browsers (#9956) * FIX: Correct the misalignment of popover arrows (#9947) * Build(deps): Bump ffi from 1.12.2 to 1.13.0 (#9954) * Build(deps): Bump coderay from 1.1.2 to 1.1.3 (#9943) * UX: Adjustments to topic admin menu on mobile (#9945) * UX: Remove box-shadow from kbd, unify styling (#9948) * FIX: Don't change the button height when spinner appears * DEV: removes dead code of dropdown-menu (#9942) * UX: Fix border radius artifacts on dashboard pills (#9949) * DEV: skips/tweaks brittle tests (#9952) * DEV: add countTags to topic tracking state * DEV: Fix publish to message_bus when forcing pg readonly. * DEV: Fix implementation for `DiscourseRedis#exists`. * FIX: Restore the ability to rebake posts in deleted topics (#9951) * DEV: Missing readonly mode banner when forcing PG readonly. * DEV: Rubocop fix * FIX: Handle files removed between `glob` and `mtime` * FIX: `z` helper doesn't resolve inside `calc` * DEV: Remove an obsolete comment * UX: Remove the period after "Enable Notifications" button * UX: Fix inputs alignment in admin/customize/colors * DEV: Update facter usage * DEV: Don't require wget in script/bench * FEATURE: notify admins about old credentials (#9918) * DEV: Add force rails_over switch via Redis. * DEV: Implement multiple keys support for `DiscourseRedis#exists`. * DEV: Prefer `Discourse.redis.reconnct`. * DEV: Bump rails_failover. * UX: Position topic admin menu next to wrench (#9932) * Revert "FEATURE: category setting for default list filter." * FIX: topic-admin-popup-menu was overflowing on small screens (#9944) * follow-up fix due to adding overflow hidden in 32e40ea * show-replies styles were lost with some menu changes * UX: Make the menu links header within the user panel more flexible * UI: makes topic count less visible in category drop (#9938) * UI: removes font-weight: bold from category-drop names (#9937) * UX: better alignment of icons in notifications menu (#9934) * UX: Relocate before-topic-list outlet so it shows up on Top as well * DEV: adds a few plugin outlets required for themes (#9929) * DEV: allows categories-admin-dropdown to have custom items (#9931) * Start Discourse in an initializer (#9930) * FIX: Support IRIs (unicode URIs) when pulling hotlinked images (#9928) * DEV: Abstract `Ember.testing` so our application code doesn't use it * FEATURE: Download remote images even for old posts (#9925) * DEV: Why use a whole object when a functionw will do? * DEV: Remove unused variable topic_tracking_state (#9915) * FIX: Pull hotlinked images even when edited by system users (#9890) * FIX: Invalidate database theme cache when hostname changes (#9908) * DEV: ensures highlightjs is correctly tested (#9923) * UI: various select-kit dropdown tweaks/cleaning (#9922) * FIX: pins down highlight.js to the last commit of the v9 tree (#9921) * PERF: Use more efficient query when checking for existence. * UX: homogenises sk row padding and topic-admin-menu (#9920) * UI: homogenise topic-footer-mobile-dropdown styles (#9919) * UX: reworks various menus to homogenize them (#9905) * FIX: don't rerender whole users page while typing on input. * FIX: muted tags removed topics with no tags from counts * FEATURE: optionally allow tags in topic tracking state * DEV: Remove `db_id` from sample multisite config. * DEV: Bump `rails_failover`. * Minor adjustment to menu-links-header spacing to avoid some wrapping * SECURITY: make find topic by slug adhere to SiteSetting.detailed_404 (#9898) * UX: remove `in:unpinned` filter from advanced search page. (#9911) * new S3 backup layout (#9830) * DEV: simplify detailed_404 logic * DEV: Update gems to latest versions (#9909) * Update javascripts (#9907) * UX: Fix activity column display in wizard homepage step * FIX: Don't raise an exception if a topic cannot be retrieved (#9906) * Build(deps): Bump parser from 2.7.1.2 to 2.7.1.3 (#9884) * Revert "Revert "DEV: Import `MessageBus` from `message-bus-client` instead of globals"" * DEV: Run jobs sequentially in test mode (#9897) * DEV: Add `discourse-staff-alias` to official plugin list. * DEV: Add ENV flag to test out `ActiveRecord::Failover`. * FIX: allows to define label/title properties for display instead of name * UX: remove edit PM button * DEV: remove objects that do not exist in the repo from .git-blame-ignore-revs (#9904) * UX: More consistent alignment of topic timer's selected datetimes * Revert "DEV: Fix a deprecated `ember` import (#9903)" * DEV: add acceptance test for encoded subcategory * Revert "DEV: Import `MessageBus` from `message-bus-client` instead of globals" * FIX: sending messages to groups with non-lowercase names * DEV: Fix a deprecated `ember` import (#9903) * DEV: Import `MessageBus` from `message-bus-client` instead of globals * Revert "DEV: Import `MessageBus` from `message-bus-client` instead of globals (#9902)" * DEV: Import `MessageBus` from `message-bus-client` instead of globals (#9902) * FIX: broken query if upload id is missing (#9900) * SECURITY: make find topic by slug adhere to SiteSetting.detailed_404 (#9898) * FIX: allows to have custom emoji translation without static file (#9893) * UX: Don't show the suspension date if the user is permantently suspended. (#9895) * FEATURE: Show a detailed 404 page for private topics (#9894) * UX: Keep focus on input after selecting an autocomplete option * fix the build * UX: do not show redundant user count * FIX: add X-Robots-Tag header for check_xhr-covered GET actions, too (#9868) * UX: Rename Priority to score for sorting. (#9846) * DEV: skip bunch of failing tests (#9896) * SECURITY: Use FinalDestination for topic embeds * SECURITY: Use FinalDestination for topic embeds * FIX: don't send digests to users with no primary email * DEV: annotate models * FIX: correctly set values and defaults for group-form-interaction-fields (#9891) * REVERT: removes translate_emoji (#9889) * FIX: when destroying a draft always ensure saving is done * FIX: opening cancel draft dialog broke autosave * Build(deps): Bump onebox from 1.9.28.2 to 1.9.28.3 (#9887) * SECURITY: missing security check prior to redirect * FIX: Pass current_user to TopicQuery in for categories_and_top_topics (#9885) * Revert "FEATURE: notify admins about old credentials (#9854)" (#9886) * Composer whisper icon missing margin when editing replies * FIX: updates variables for HTML to use `em` instead of `px` in font-size (#9883) * FEATURE: notify admins about old credentials (#9854) * FIX: wizard fails to start when default_theme_id is -1 * Remove support for FontAwesome 4.7 icon names (#9871) * FIX: Wizard previews if color step is excluded (#9881) * Bump onebox version * Build(deps): Bump excon from 0.72.0 to 0.73.0 (#9228) * FIX: XML files could be detected as SVG files * DEV: Mark fontawesome-pro plugin as official * Version bump to v2.5.0.beta5 * FIX: document.activeElement can be null on IE11 (#9880) * FIX: `rescue_from` doesn't bubble up. * Version bump to v2.4.4 * FIX: makes focust text area after complete more resilient (#9879) * Update translations * FIX: Improve image downsizing script (#9549) * FIX: returns false if the upload url is an invalid mailto link (#9877) * FEATURE: Send a private message when a group membership is accepted (#9822) * FIX: Copyedit for the dominating topic warning * DEV: followup to prev commit * FIX: concurrency bug when creating topic thumbnails * FIX: Don't responde with error 500 if domain is invalid when adding automatic membership domain (#9655) * FIX: do not allow tag with name 'none' (#9867) * DEV: Remove custom connection reaper. * FIX: properly ban non human users from draft system * FIX: Include lazyYT-container in cooked post HTML (#9870) * FEATURE: Add setting to disable automatic CORS rule install in S3 buckets (#9872) * FIX: documentation was using incorrect function (#9876) * DEV: plugin api should have been bumped for #8825395 (#9874) * DEV: ignore `flair_url` column in group model. (#9873) * DEV: allows to decorate username selector (#9869) * FIX: Email Styles were evaluated out of order * FIX: when creating new PM username/groupname should be case-insensitive * Revert "FIX: when creating new PM username/groupname should be case-insensitive" * FIX: no need for downcasing second time * FIX: when creating new PM username/groupname should be case-insensitive * FEATURE: Permalinks for tags * PERF: avoid traversing DOM in loadScript * FIX: skip onceoff job for groups with invalid flair URL. * FIX: do not fallback to flair_url column * Build(deps-dev): Bump rspec-rails from 4.0.0 to 4.0.1 (#9804) * FIX: Keep composer title and reply when switching to PM (#9851) * DEV: Bump rack-mini-profiler from 2.0.1 to 2.0.2 (#9865) * UX: use "icon-picker" & "image-uploader" fields to set group flair. (#9779) * FIX: Destroying a user failed when it had title * FEATURE: category setting for default list filter. * FIX: group card not showing if user can't see its members. * FIX: call `getURL` method explicitly to prevent `this` context override. * UI: various tweaks to polls UI on mobile (#9864) * Revert "Revert "Merge branch 'master' of https://github.com/discourse/discourse"" * Revert "Merge branch 'master' of https://github.com/discourse/discourse" * minor copyedit on theme import error * SECURITY: ensure embed_url contains valid http(s) uri * SECURITY: ensure embed_url contains valid http(s) uri * FIX: Double Button Alignment Mobile (#9862) * Add rails_helper to spec (#9861) * FIX: better cross browser topic footer buttons alignment (#9860) * FIX: We don't create a Post object if the queued post gets rejected. We need to count review items directly. (#9856) * FIX: Live reloading of css in development (#9859) * REFACTOR: slightly cleaner topic admin button css (#9858) * UI: apply margin only if the menu has content (#9857) * DEV: add spec for tag with unicode name * FEATURE: Update the topic excerpt when the OP is rebaked (#9852) * FIX: Remove access control post FK from uploads (#9853) * SECURITY: ERB execution in custom Email Style * SECURITY: ERB execution in custom Email Style * FIX: tag input says tags are optional when they're required * UX: Remove live theme previewing in favor of refresh (#9798) * Build(deps): Bump rubocop from 0.83.0 to 0.84.0 (#9849) * FIX: Allow GitHub app client_id to be used for OAuth configuration * FIX: ensures category chooser is case insensitive (#9850) * FIX: adds missing tags to published page header (#9835) * UX: user name instead username for profile link title * UX: add title for user profile link * Bump rails_failover to 0.2.0. * DEV: Fix randomly failing spec. * FEATURE: Add topic excerpt max length site setting (#9847) * FIX: Badge granter was disabled by default. * FIX: sidekiq is using _forim_session (#9825) * glob @import desktop and mobile scss * FIX: Show staff counters if the rejected posts count is the only value to show (#9845) * UX: More consistent mobile banner/alert styles, css cleanup * FIX: Requests were not being logged correctly * DEV: Specs for AboutController can_see_about_stats? impact (#9843) * FIX: Path should be `addon` not `app` * FIX: Allow deprecation to work with Ember CLI * DEV: less code for Category#url * FIX: select-kit was in the wrong place * FIX: Update default_template.html * FIX: `guidFor` is not part of `Ember.Object` * DEV: Guardian for hiding about stats (#9841) * Build(deps): Bump puma from 4.3.4 to 4.3.5 (#9836) * FIX: do not parameterize tag_id (#9839) * UX: moves editFirstPost in taggable Pms in dropdown on mobile (#9840) * FIX: Don't blow up when trying to parse invalid or non-ASCII URLs (#9838) * Remove old web hooks in favor of 'reviewable' web hook (#9776) * DEV: Review follow up to 234cd5c3e7f8d1be7c98af7eeb572e5b79f0a16a. * DEV: Require `rails_failover` before global settings. * DEV: Install `rails_failover` gem to test our Redis changes. * DEV: remove superfluous comment * UX: strip text from PM bookmark and share buttons * FIX: migrations should not fail when db is part migrated * UX: Rename "Edit Message" to "Edit" * Fix lint. * DEV: Remove code unused code when seeding narrative bot. * FIX: Switch discobot to pull avatar from gravatar. * FIX: purge all associated data on user delete * UX: Remove bold from category badge text * PERF: Remove foreign keys from bookmarks (#9837) * FIX: S3 store has_been_uploaded? was not taking into account s3 bucket path (#9810) * FIX: Restoring backups could fail for database dumps > 8GiB * DEV: These routes don't exist anymore (#9823) * UI: reduces category row description margin (#9834) * DEV: adds triggerOnChangeOnTab option to select-kit (#9833) * Build(deps): Bump rbtrace from 0.4.12 to 0.4.13 (#9827) * Build(deps): Bump puma from 4.3.3 to 4.3.4 (#9824) * Build(deps-dev): Bump minitest from 5.14.0 to 5.14.1 (#9807) * UX: improves topic-notifications-button loading behavior (#9832) * FIX: Check backtrace and backtrace_locations before trying to print an error * FIX: description for 'uncategorized' category was blank * FIX: Show a useful message when starting a plugin fails without a backtrace * UX: adds visual feedback when changing topic notifications level (#9831) * FIX: GroupArchivedMessage belongs to Group, not User * DEV: Clean up thumbnail tests correctly * DEV: Allow plugins to request topic thumbnail sizes (#9828) * FEATURE: Add same site cookie 'None' option to make cross domain systems possible (#9374) * FIX: applies flex on topic-footer-main-buttons (#9829) * DEV: removes brittle test (#9826) * UI: refinements to topic footer buttons (#9780) * FIX: Join bookmarks migration on users to avoid missing user records * UX: Remove caret from notifications-button. * Improve mobile friendliness of crawler view * DEV: Remove override of `flushdb` in `DiscourseRedis`. * DEV: Change use of Redis `flushall` to `flushdb`. * FIX: randomize file name when created from fixtures (#9731) * FIX: Bump rack version from 2.0.8 to 2.2.2 (#9811) * FIX: Restoring backup didn't clear cached translation overrides * FIX: Reverting multiple translation overrides didn't clear cache * FIX: improves and fixes a regression with category-selector (#9821) * UX: Allow secure media URLs to be cached for a short period of time * DEV: skip this test for now (#9818) * FIX: more resilient/consistent date-picker loading (#9817) * REFACTOR: ensures later is correctly canceled (#9796) * UX: show caret only in topic footer buttons dropdown select boxes (#9816) * FIX: Ensure no image downloads during topic thumbnail serialization * FIX: allows to remove a topic timer with delete_replies as type (#9800) * DEV: Clean up some Redis leaks in test env. * UX: allows dropdown-select-box to display a caret (#9803) * FIX: ensures hide is called when card is destroyed (#9814) * FIX: do not remove stop words when using English locale * FIX: extract reset_last_seen_cache! in user_spec (#9808) * REFACTOR: s/focusAfterOnchange/focusAfterOnChange (#9801) * DEV: Move select kit to an addon (#9797) * FIX: Switching composer action does not refresh composer actions content (#9791) * FIX: Component was still used by data explorer * FIX: Include plugin CSS assets when previewing themes * DEV: Remove use of `const` in untranspiled js * UX: Fetch higher-resolution youtube thumbnails where available * UX: focus category name when editing category (#9795) * FIX: displays a title on sk header if no selected name (#9794) * UX: Add copied text upon copy button click (#9793) * Update description of level 0 user limitations * Build(deps-dev): Bump ruby-prof from 1.4.0 to 1.4.1 (#9790) * DEV: skip click track test (#9792) * Revert "FIX: Correct plugin api version bump." * FIX: Correct plugin api version bump. * DEV: Add framework for filtered plugin registers (#9763) * FIX: Use CDN URLs for topic thumbnails * Fix lint. * UX: Better composer-action icon when creating new topic. * FEATURE: Expose `Composer.serializeToTopic` in client side plugin api. * DEV: Fix broken test due to 9ab5801a1bc5bfc505673d0c74f1a3c1e6c28461. * FIX: Allow post migrations using `#change` to carry out unsafe migration * PERF: ensure we run full GC on contexts * FEATURE: extend duration allowed for download * FIX: Always return 0 for non-human user current DraftSequence. * Revert "FIX: don't compute draft for (ro)bots 🤖 in topics list" * Revert "FIX: don't compute draft for bots on categories index route" * DEV: Standardize table sorting verbiage (#9757) * FIX: WebAPK minting was broken due to shortcut icons * FIX: randomly failing user_spec (#9754) * PERF: Dematerialize topic_reply_count (#9769) * Revert "FIX: Workaround WebAPK server bug with images without sizes" * FIX: Workaround WebAPK server bug with images without sizes * DEV: Allow 3-digit HEX color code in single icon route * FIX: don't compute draft for bots on categories index route * FIX: Apply code quoting with no syntax highlighting (#9784) * FIX: Use proper icons for App shortcut menu * Revert "Reland "DEV: Add checks that assets do not modify cookies to smoke-test.js" (#9774)" (#9783) * Reland "DEV: Add checks that assets do not modify cookies to smoke-test.js" (#9774) * FEATURE: Add endpoint for individual SVG icons (#9765) * DEV: always pull latest coding standard dependencies (#9782) * UX: Do not use small onebox images as post/topic images * DEV: Allow plugins to hide user stats by new guardian method (#9772) * UX: Limit iOS modal keyboard changes to composer * FIX: Allow lazy-yt thumbnails to fetched by pull_hotlinked_images * FIX: Deleting old migration * FIX: don't compute draft for (ro)bots 🤖 in topics list * DEV: Skip I18n in plugins until they can be updated * DEV: Update ESLint to remove I18n global * FIX: Specific email error for replies to digest emails (#9770) * DEV: do not append/prepend if callback returns nothing (#9778) * FIX: Detect Wayback Machine using user agent (#9777) * FIX: Load locale first in wizard app * DEV: Fix lint. * DEV: Expose `Composer.serializeOnUpdate` in client side plugin api. * DEV: Minor follow up to d7e230c1b9115fa3806382bfc32d98cdfc27b711 * DEV: Remove erroneous code introduced in d7e230c1b9115fa3806382bfc32d98cdfc27b711 * UX: Introduce composer-actions when editing a post. * FIX: update mini racer to correct heap dumps * FEATURE: Add structured data to follow Google's guidelines (#9764) * Revert "DEV: Add `add_controller_callback` server side plugin api." * UX: don't disable "create account" button & display error message for required fields. (#9643) * DEV: correct test suite * FIX: never save draft while it is saving * FIX: Don't publish typing presence if composer isn't opened. * DEV: Remove assertions that are not required. * DEV: Avoid relative paths when importing in plugins. * FIX: Prevent Safari from scrolling when closing composer * Revert "DEV: Add checks that assets do not modify cookies to smoke-test.js (#9504)" (#9773) * DEV: Add checks that assets do not modify cookies to smoke-test.js (#9504) * DEV: import I18n instead of global usage (#9768) * DEV: Standardize ignored_columns removal comments (#9771) * Build(deps-dev): Bump better_errors from 2.7.0 to 2.7.1 (#9767) * DEV: add classes to li's inside user navigation (#9766) * Revert "FEATURE: Add same site cookie 'None' option to make cross domain systems possible (#9374)" * FIX: prevents SvgSprite.bundle to query ThemeField two times (#9762) * Build(deps-dev): Bump ruby-prof from 1.3.2 to 1.4.0 (#9761) * DEV: Prevent 'previous definition' warnings for PARAMETER_API_PATTERNS * DEV: Reduce repeated code in discourse_plugin_registry (#9705) * UX: Fix hard coded value in Crazy in Love badge description * DEV: Add plugin outlet `revision-user-details-after`. * Skip later today test again :'( * FEATURE: Introduce a staff only override key for discourse-presence. * PERF: avoid race conditions when creating topic links * Add missing export in 15e32dc1af90ceafbb8eadf2e0e5ecc59b9a7527. * FIX: Composer presence shows user as editing when replying. * FIX: Throttle typing function in discourse-presence. * DEV: Try once more to make acceptance test fake timers work * FIX: Change /bookmarks URL back to topic list and add bookmark poster avatars (#9759) * prettier * PERF: Avoid executing the same query twice. * UX: Improve display of site setting validation message. * UX: remove underline from del & ins elements * FIX: Handle missing provider return sso url * FIX: Prevent column name conflicts in reviewable code (#9753) * FIX: ensures preview is correctly computing timezone for current user (#9758) * Revert "Revert "DEV: Remove `Discourse.Route`"" * DEV: skip failing test (#9755) * DEV: Adds an integrity spec for JS constants * DEV: Detect correct data dir using ENV * Add a global setting for CDN origin * FEATURE: Support for App Shortcuts Menu (#9749) * FIX: Don't raise an exception if a TopicLink cannot be created * FIX: Add missing rss routes to parameter api whitelist * FEATURE: add noindex header to tags pages (#9748) * DEV: Allow plugins to add extra icons to category-link (#9743) * FEATURE: Allow parameter authentication for UserApiKeys (#9742) * FIX: Show Settings button if plugin has settings (#9728) * FIX: saving drafts unconditionally increases sequence * DEV: minor SQL formatting change * Build(deps): Bump rubocop from 0.82.0 to 0.83.0 * FEATURE: Allow plugins to register a callback to ignore DraftSequence. * PERF: Avoid hitting DB when fetching draft sequence of bot user. * DEV: Pass currentUser to post-menu button builders (#9752) * DEV: Avoid repeating draft key logic in multiple places. * remove ember container div * FIX: Remove unnecessary forward slashes in regex * DEV: remove prefix * DEV: create missing indexes * PERF: reduce exclusive locking when changing tables * FEATURE: default canonical URL (#9738) * DEV: Remove reference to Discourse.Category * FIX: add tabindex=-1 on tabLoc post links * FIX: Improve mobile footer nav accessibility * Revert "DEV: Remove `Discourse.Route`" * DEV: Remove `Discourse.Mobile` * DEV: Remove `Discourse.Route` * DEV: Remove deprecation for `Discourse.Category` * DEV: allows buttons to define aria-label (#9747) * DEV: Add safe deprecation to `Discourse.User` * DEV: Allow us to keep the deprecation with Ember CLI * DEV: Remove deprecation for `Discourse.Session` * DEV: Replace `version.js.erb` with pre generated file * DEV: Generate `emoji/data` on demand (#9744) * DEV: api documentation updates (#9612) * FIX: sets a title for notifications button (#9745) * Revert "FIX: title should attempt to fallback to label before name (#9739)" * FIX: Multiple schema.org improvements * Revert "DEV: allows to define an ariaLabel on d-button (#9716)" * DEV: allows to define an ariaLabel on d-button (#9716) * FIX: title should attempt to fallback to label before name (#9739) * FIX: Handle a deleted topic in thumbnail generation * DEV: Use async/await instead of `andThen()` * DEV: Remove obsolete commented out tests * DEV: Remove .travis.yml config * Build(deps): Bump public_suffix from 4.0.4 to 4.0.5 (#9733) * Build(deps): Bump rspec-expectations from 3.9.1 to 3.9.2 (#9732) * Fix syntax error in fluxbb.rb (#9727) * FIX: Show category name in badge preview on edit (#9726) * REFACTOR: Remove an unused Topic model observer (#9723) * DEV: Various GitHub Actions CI tweaks (#9724) * DEV: Remove unused DiscoursePlugin class (#9715) * FIX: prevents rendering topic-category if empty (#9720) * A typo fix (#9717) * DEV: Plugin outlet after save or cancel composer buttons (#9725) * FIX: stop clearing title by mistake * FEATURE: Pass instance of revisor to `post_edited` DiscourseEvent. * DEV: Add `add_controller_callback` server side plugin api. * DEV: Improve description of addPosterIcon plugin api. * FIX: default to blank title on open * FEATURE: add noindex header to badges, groups, and /my pages (#9736) * FIX: Resolve issues with Next Monday for bookmarks not working in certain locales (#9737) * FEATURE: let Google index pages so it can remove them * PERF: Move fetching of avatar into hijack for discobot certificate * FEATURE: add no_index header if robots is disabled * FIX: CurrentUser now must be passed to resolveTimezone and user card local time issues (#9734) * FIX: ESC to dismiss empty draft topic composer * DEV: No need for double `await` * DEV: Fix build * FEATURE: Filter settings by plugin (#9692) * DEV: removes setInterval as it might cause issues (#9722) * REFACTOR: removes dead code (#9721) * DEV: allows select-kit to prevent autofocus of header after onChange (#9718) * UX: Prevent timeline overlapping topic footer buttons * DEV: User UPPER_CASE for constants * DEV: Add data-name to popular-theme-item rows (#9714) * SECURITY: updates juqery to 3.5.0 (#9708) * DEV: 25ms was too short and causing test failures (#9712) * DEV: Remove `translate` API from plugin. * DEV: Don't use `js.erb` for constants * Build(deps): Bump jquery-rails from 4.3.5 to 4.4.0 (#9709) * FIX: Bookmark Modal Input (#9707) * FIX: Support transpiling js in plugins with a root admin folder * DEV: calling preload-store is deprecated (#9703) * DEV: removes setTimeout and reduces timer in tests (#9701) * DEV: removes a setTimeout and ensure shorcut is not propagated (#9702) * FIX: some adjustment for the UI of the table * DOCS: Update community install info * DEV: gear icon is deprecated in favor of cog (#9704) * REFACTOR: removes various assignments and superfluous params (#9699) * REFACTOR: removes implicit operand conversion (#9700) * DEV: Fix poll plugin causing error when server reloads in dev env. * FEATURE: tighten rate limiting rules for forgot password * UX: Improve banner & alert close button alignment and consistency * Revert "Revert "DEV: upgrade to Rails 6.0.3"" * FIX: Don't trigger user_updated event for bot users. * FIX: remove deprecated URI.escape (#9697) * FIX: Do not allow null options for bookmark manager * FIX: Migration to set column NOT NULL for delete_when_reminder_sent on bookmarks (#9696) * FIX: Incorrect CSS class * Admin popup menu needs a higher z-index than the bg cloak on mobile * DEV: Remove INLINE_ONEBOX_* constants * DEV: Ember Addon needs a vendor dir * FEATURE: exclude muted categories from the "top" topics list. * Reduce the width of the input field on desktop * FIX: parenthesis were wrong, resulting in an always true expression (#9690) * DEV: Move pretty-text into an ember-addon format (#9689) * DEV: Use `response.parsed_body` in specs (#9615) * FIX: `preload-store` was removed * REFACTOR: removes useless variable assignment (#9666) * REFACTOR: removes overwritten properties and duplicates fn (#9686) * REFACTOR: useless conditional as 'data' always evaluates to true (#9685) * REFACTOR: removes superfluous argument (#9684) * REFACTOR: removes superfluous argument (#9683) * REFACTOR: removes use of undeclared variable (#9682) * REFACTOR: removes useless self assignment (#9681) * REFACTOR: removes unreachable statement (#9680) * REFACTOR: function was incorrectly called as a constructor (#9679) * REFACTOR: Superfluous arguments passed to function resolveSize (#9678) * REFACTOR: removes useless assignment to local variable (#9676) * REFACTOR: removes useless conditional (#9677) * REFACToR: removes useless assignment to local variable (#9675) * REFACTOR: removes useless conditional (#9674) * REFACTOR: value assigned to precision here is unused (#9673) * REFACTOR: value assigned to cp here is unused. (#9672) * REFACTOR: variable '_postSnapshot' always evaluates to true (#9671) * REFACTOR: removes unreachable return statement (#9670) * REFACTOR: removes superfluous argument passed to findWidget (#9669) * REFACTOR: removes useless conditional (#9667) * REFACTOR: removes useless conditional (#9668) * REFACTOR: removes unreachable code (#9665) * REFACTOR: publishedPage property was duplicated (#9664) * REFACTOR: require-valid-alt-text was duplicated (#9663) * Revert "DEV: upgrade to Rails 6.0.3" * FIX: improves positioning of sk in mobile when inside a modal (#9657) * DEV: upgrade to Rails 6.0.3 * DEV: Allow specifying if a notification is high_priority on create (#9660) * FIX: Show the Bookmark button for PM topics (#9659) * FEATURE: Optionally delete bookmark when reminder sent (#9637) * UX: Fix modal positioning when iOS keyboard is visible * UX: Adjust admin menu to better fit short (horizontal) viewports * FEATURE: Include category position when exporting categories (#9658) * FIX: Improve topic timeline calculation logic * UX: remove top padding from reddit onebox description * Remove extra category whitespace on category+latest/top pages * DEV: Upgrade sinon and fix time based bookmark tests (#9647) * UX: remove bold to de-emphasize category names on visited topics * FIX: correct edit notification username for PMs (#9649) * FIX: Using the `default_locale` in locale fallbacks caused problems * FIX: make can_invite_to_forum robust against plugin interference (#9644) * Don't precompile preload-store * FIX: displays poll's close date in local time (#9656) * FIX: preload-store was moved * DEV: Move `preload-store` to `discourse/lib/preload-store` * Add script for compiling copyright deposits (#9646) * Revert "Revert "DEV: Move rubocop config to rubocop-discourse (#9616)"" * Revert "FIX: Discobot has not been created with our custom avatar." * Revert "DEV: Move rubocop config to rubocop-discourse (#9616)" * FIX: end date of ranges in html preview was incorrect (#9654) * DEV: improves sk api (#9653) * DEV: Use a copy of the fixture file instead of the original one (#9645) * DEV: Remove `Discourse` constants from focus mixin. * Bump onebox version * Backwards compatibility for raw-templates lib * DEV: Move rubocop config to rubocop-discourse (#9616) * Bump onebox version. * DEV: Stub #flush in StdOutDemux for multisite:migrate * Add styling for Reddit video onebox. * DEV: remove fragile spec * DEV: Remove all code referencing at_desktop bookmark reminders (#9650) * FIX: Change user digest email total unread notification calculation (#9648) * UX: Fix time alignment on user activity pages * FIX: Discobot has not been created with our custom avatar. * DEV: Use Ember.Service over manually registering a factory. * UX: Add prefixed property so Firefox also gets 4-space tabs in code * add class for topic-list dismiss button container * revert spacing reduction from 4afbcb9 * minor followup to 657facb * FIX: Preserve code blocks when quoting (#9632) * DEV: Have `app/app` export a class not an instance. * DEV: Remove more `Discourse.` globals * DEV: Remove `Discourse.` global variable usage in initializers * FIX: Flaky tests. Due to CSS transitions opacity might not be 0 yet. * fix linting * DEV: Remove `Discourse.RAW_TEMPLATES` (#9630) * FIX: Fixes wrapping of buttons with larger buttons * FIX: Avoid using a temporary table in image url database migration * FIX: Resolve Schema.org validation issues * DEV: Add remove button function to PluginAPI (#9627) * FIX: apply sameWidth from 450px screen width * UX: attempts to have a better use of available space with sk (#9639) * DEV: Skip time-dependent bookmark test * FEATURE: Include optimized thumbnails for topics (#9215) * FIX: Pre-select Later Today on bookmark edit if the time is the same (#9636) * UX: Bookmark removal tweaks (#9635) * FEATURE: Nokogumbo (#9577) * UX: Improve second factor UI (#9526) * FIX: PostgreSQL fallback was broken due to Rails masking exception (#9633) * revert 4afbcb9 * DEV: Deprecated icon name fix * FIX: Improve digest email styling on Outlook 2016 (#9626) * DEV: use the existing parsePostData function (#9629) * FIX: reverts to use an observer to support loading more notifications (#9628) * Version bump to v2.5.0.beta4 * Version bump to v2.4.3 * DEV: Set owner on raw views (#9624) * Update translations * UX: Use created_at as the default order when viewing reviewed items or everything (#9601) * UX: change the user merge button's label and icon. * FIX: shows filter if there's no notifications to show after filter * FIX: Do not use cached settings during theme compilation * FIX: Clear theme caches after database transaction has committed * DEV: Allow DB.after_commit to be used outside of a transaction * FEATURE: Unconditionally notify on edits at least once a day * FIX: missing edit notifications in some rare cases * REFACTOR: minor tweaks to user's notifications-filter (#9623) * FEATURE: adds a filter for all/unread/read on user's notifications page (#9535) * DEV: update rspec dependencies * more direct "read this topic" prefs link * DEV: Update rubocop-discourse to 2.1.2. * FIX: do not apply only-emoji margin for excluded cases (#9619) * FIX: Unassign user titles when a badge is deleted (#9573) * FIX: save bookmark reminder on tap unless custom (#9611) * DEV: Rename `deprecated` to the more appropriate app-boot * UX: collapse extra files when browsing a theme component (#9610) * DEV: Remove global Handlebars * Build(deps): Bump redis from 4.1.3 to 4.1.4 (#9608) * FIX: an `<a>` with a target of _blank wants a new window (#9607) * Build(deps-dev): Bump rubocop-rspec from 1.38.1 to 1.39.0 (#9606) * FIX: ensures an anonymous shortcut fn can be used globally (#9605) * FIX: Bookmark UI tweaks (#9604) * FIX: do not raise error if 'class' attribute is not found. * Minor header title spacing reduction * DEV: Bump parser from 2.7.1.1 to 2.7.1.2 (#9602) * DEV: Refactor presence manager to deal with multiple composer states. * FIX: Change base importer to create new Bookmark records (#9603) * FIX: the muted message should be sent after edit (#9593) * DEV: Support for `import Handlebars from 'handlebars'`; (#9600) * FEATURE: add category banner for why a user cannot post (#9576) * DEV: Remove `Handlebars.Utils.escapeExpression` usage * FEATURE: allows to limit visible reports and tabs in dashboard (#9598) * DEV: improve code readability & add tests for user guardian. * Build(deps-dev): Bump rb-fsevent from 0.10.3 to 0.10.4 (#9599) * FEATURE: Add setting to controle the Expect header on S3 calls * UX: display info about extra files and uploader (#9595) * UX: adds title attribute to widget dropdown header (#9597) * DEV: adds documentation about caret option of widget dropdown (#9596) * FIX: server-side HtmlToMarkdown improvements (#9586) * FEATURE: More improvements to crawler and old browsers view * Revert "HACK: Add dummy plugin folder" * DEV: stop freezing frozen strings * DEV: take out more trash (icons) * DEV: Add acceptance tests for bookmarks with reminders (#9592) * DEV: correct bad test * DEV: correct drop logic for columns in post table * UX: Add margin when displaying unlisted details in composer. * FEATURE: Allow user creation with admin api when local logins disabled (#9587) * DEV: remove unused columns from posts and topics * FIX: Rename all instances of bookmarkWithReminder to just bookmark (#9579) * DEV: pry-nav was holding back on pry upgrades * FIX: temporarily disable event listener for dismissing the first notification * HACK: Add dummy plugin folder * DEV: Add Handlebars support to Ember CLI in discourse-common * FIX: ensures widget dropdown doesn't overflow document (#9590) * Improve support for old browsers (#9515) * FIX: Enter selected link with 'o' on full page search * UI: do not change widget dropdown separator background on hover (#9589) * DEV: adds a caret option to widget dropdown (#9588) * FIX: S3 rake task can ignore yarn.lock * UX: Improve discobot random menion copy * DEV: Better error handling for s3 task * DEV: Make `discourse-common` an Ember addon. (#9578) * SECURITY: Update onebox to add rel="noopener" * SECURITY: Update onebox to add rel="noopener" * FIX: Copyedit for "You were logged out" modal (#9584) * FIX: correctly hides timeline scroller for short posts (#9581) * Build(deps): Bump rqrcode_core from 0.1.1 to 0.1.2 (#9244) * DEV: Bump Hashie and Faraday (#9583) * FIX: ensures card cloak is removed (#9582) * DEV: Fix typo * FEATURE: Add user_profile to user_archive CSV export (#9571) * FIX: discourse-presence breaks composer for users. * DEV: Revert quiet assets in dev. * DEV: Follow up to a078feee07d1e55a4a6fc7e1058b8671922eaa8c * DEV: Turn off ActiveRecord development color and query log by default. * DEV: Minor follow up to 1d04fb24f8cbe078990332117fcffda4bd6ea3e5 * DEV: Enable all the ActiveRecord goodness in development env. * DEV: Run rubocop in parallel in pre-commit hook. * DEV: Missing import. * DEV: Disable `discourse-presence` in Ember test env. * FIX: correctly account for direct replies with presence * FEATURE: Redesign discourse-presence to track state on the client side. (#9487) * DEV: Add env in dev to support verbose query log. * UX: fix dashboard version panel width by removing extra wrapper * FIX: Change bookmarks-with-reminders URL back to bookmarks for user activity (#9566) * FIX: Remove timezone in brackets from user card (#9567) * FIX: Do not save bookmark if close (X) on modal is clicked (#9541) * DEV: adds support for header-title in topicTitleDecorators (#9562) * FIX: error customizing text for badges from plugins * DEV: Replace setTimeout with Ember.run.later * FIX: makes tracking shortcuts working when tracking button is not visible (#9575) * FIX: improves tag-list setting (#9574) * DEV: This file does not seem to be used anymore * FEATURE: allows to to style published page with themes/plugins (#9570) * FIX: Include default notification level in category serializer (#9572) * FIX: Improve clearing store cache (#9568) * DEV: Update jquery.fileupload and dependencies (#9466) * FIX: published pages couldn't be routed from inside discourse (#9569) * DEV: Remove ember-addons (#9559) * FIX: Avoid exception when rendering a poll in a trashed post * DEV: Use a tmp directory for storing uploads in tests (#9554) * UX: Translating poll chart types wasn't possible * DEV: annotate models * FIX: remove unsuppored rake task * FIX: Topic user bookmarked column logic was not correct (#9563) * FEATURE: support SSO website and location overrides * FIX: currentUser might be undefined (#9555) * DEV: Bump message_bus from 3.0.0 to 3.1.0 (#9565) * add btn-default class to show-tag-info button * FIX: Local time not updating between user cards (#9564) * UX: Right align notification item time, adjust mobile space, consolodate * Add discovery-below outlet to tag pages too * Remove additional wrapper, follow-up to d516a88 * UX: Better spacing for composer toggle buttons on mobile * FIX: keep scroll position when minimizing composer in iOS * FIX: Correctly shows no bookmark message (#9548) * FIX: Improves bookmark shortcut reliability and other minor issues (#9547) * FEATURE: Optionally show local time for user in card (#9527) * DEV: Add rswag to aid in api documention (#9546) * DEV: Trigger 'user_added_to_group' when accepting invite with groups (#9561) * Build(deps): Bump aws-sigv4 from 1.1.2 to 1.1.3 (#9560) * DEV: enables and fixes multisite-spec (#9557) * Ignore files that will be used with Ember CLI * FIX: Only show the review page to users that can see it. Do not publish the reviewable count update message to everyone. (#9556) * DEV: Add has_many category_tag_stats in tag.rb (#9558) * DEV: Move `discourse.js` to `app/app.js` (#9545) * Build(deps): Bump unicorn from 5.5.4 to 5.5.5 (#9552) * DEV: Re-enable "remove featured link" test (#9550) * FIX: Add additional checks for automatic theme script CSP * FIX: Apply category priority for empty query (#9516) * fix the build. * FIX: use absolute URL for YouTube thumbnail images. * DEV: Avoid an additional query in `SpamHandler`. * Upgrade message_bus to 3.0.0 * PERF: Remove database query when publishing to staff users. * DEV: Don't warn about valid data * FIX: Raise a 4xx error instead of a 5xx if draft data is invalid * DEV: correct missing file from revert * DEV: Skip erratic spec for now * Revert "UX: replace closed topic icon with discourse-no-entry" * DEV: add tag name class to body of tag pages * Remove SASS spacing function * UX: replace closed topic icon with discourse-no-entry * FEATURE: dismiss first notification on click anywhere (#9525) * Build(deps-dev): Bump better_errors from 2.6.0 to 2.7.0 (#9544) * FIX: Do not override all title elements with page title * FIX: reenable draft check modal and fix focus on iOS for PMs * Update translations * DEV: replaces jquery scrollTop by vanilla js code (#9543) * DEV: Add jquery-free `decorateCookedElement` function to plugin api (#9534) * DEV: Automatically extend CSP when themes link to external scripts (#9531) * FIX: removes inheriting as it's too random and can be very hard to track (#9542) * FEATURE: when blocking emails prefer blocking canonical * Revert "FEATURE: enforce_canonical_emails site setting" * FIX: Make sure new user narrative returns toggleBookmark promise * Build(deps-dev): Bump byebug from 11.1.2 to 11.1.3 * FIX: Copying image markdown for secure media loading full image (#9488) * REFACTOR: Use rescue inside do/end block * UX: Let's try X for the closed topic icon instead of a \ * FIX: site settings dropdown can be 440px width (#9539) * FIX: removes rounding correction as it can be in either direction (#9538) * DEV: update specs followup to 67e96f6 * Revert "DEV: Draft check async when starting new PM" * DEV: discourse-backup-uploads-to-s3 plugin isn't supported anymore * DEV: ember-cli refactor for TextField and TextArea imports (#9480) * DEV: Draft check async when starting new PM * FIX: Do not set title attribute on header-topic-info widget (#9533) * Ignore the `app` move * FIX: Inner content of a row could have no max-width and be very large (#9532) * Replace Travis build status with Github Actions status * FIX: update GitHub screen_name on login via GitHub * FIX: fails gracefully if :scope is not handled by a browser (#9529) * DEV: Add the missing `app` subdirectory (#9499) * PERF: Refactor decorateCooked to run in a detached DOM (#9517) * Revert "PERF: stop firing superfluous onSelectionChange" * PERF: stop firing superfluous onSelectionChange * FIX: prevents constant composer reloading (#9528) * Revert "DEV: DiscourseEvents fired when users are added/removed from groups (#9522)" * FEATURE: don't display new/unread notification for muted topics (#9482) * DEV: DiscourseEvents fired when users are added/removed from groups (#9522) * UX: rework date time input range (#9524) * VBulletin5 importer improvements (#9477) * FIX: Don't throw 500 for invalid website url input * DEV: Use dynamic/static fabricator attrs correctly (#9519) * REFACTOR: s/translatedfilterPlaceholder/translatedFilterPlaceholder (#9521) * UX: do not attempt to full width sk on mobile (#9520) * FIX: Ignore removed column * FIX: Multisite spec was failing in parallel environment * FEATURE: Digital Ocean Spaces compatibility for Object Storage * UX: drop the `automatic_membership_retroactive` column from groups model. (#9430) * UX: add comment-plus icon for reopening topics * FIX: composer problem on the categories page (#9508) * DEV: Export openNewCategoryModal from discovery-categories (#9501) * FEATURE: add class to <aside> quote block when quoting an ignored user (#9511) * FIX: Don't log an error to logster if a topic could not be updated. * Version bump to v2.5.0.beta3 * Build(deps): Bump mini_racer from 0.2.9 to 0.2.10 (#9507) * Build(deps-dev): Bump mock_redis from 0.22.0 to 0.23.0 (#9506) * Version bump to v2.4.2 * FIX: Copy button was displayed on quoted codeblock (#9514) * UX: display 'merge' button in all non-staff user profiles. * FIX: Handle sub-sub-category paths without an id * minor code improvement * FIX: caret icon should inherit its color (#9513) * FIX: differentiate sk outline handling on single/multi (#9512) * DEV: Drop 'key' column from user_api_keys (#9388) * UX: better outline support in sk components (#9510) * FEATURE: Make report filters reusable (#9444) * FEATURE: admin UI to merge two users. (#9509) * Update lefthook. * DEV: use array for matching multiple values * FIX: use absolute url for `/user_avatar/` links * FEATURE: Promote bookmarks with reminders to core functionality (#9369) * FIX: If bookmarking discobot posts, skip the reminder modal (#9505) * FIX: Make sure reminder_type is parsed on bookmark update (#9503) * test fix * UX: Replaced locked topic "lock" icon with "comment-slash" icon * PERF: Improve lazy-load performance in Safari * FIX: properly add 'two-rows' class to header-topic-info container (#9497) * UX: Fix broken image placeholder styling * DEV: Remove `setupTopicController` event * Update bookmark step * Revert "DEV: allow nav items to override computed property values" * DEV: Update mocha (#9490) * DEV: fix failing test relating to sk click propagation * DEV: encapsulates _events and clearing it at app-events module level (#9489) * FIX: Improve selector for copy codeblock button (#9493) * DEV: allows a sk component to stop click propagation (#9495) * DEV: makes sk scroll to current selection (#9492) * DEV: allows click to propagate outside of header but not outside of sk (#9491) * FEATURE: Add copy button to codeblocks (#9451) * DEV: Bump optimist from 3.0.0 to 3.0.1 (#9476) * DEV: Fix topic_timer_spec (#9483) * FIX: Only confirm bookmark delete if a reminder has been set (#9484) * FIX: Reject invalid Category slugs (#9473) * DEV: Use more specific error responses (#9472) * DEV: Do less work in docker_test (#9470) * DEV: Remove the return value of disable_if_low_on_disk_space (#9469) * DEV: Remove `bypass_bump` from CookedPostProcessor (#9468) * FIX: Make InlineUploads handle more URL formats (#9467) * FIX: when category or tag is muted, update user (#9456) * DEV: allow nav items to override computed property values * FIX: Temporarily compatibility for Evented on a Topic Route * REVERT: Fix to app-events to make events not global * DEV: Triggering "saw" on every element seems pointless * DEV: `sawTop` never seems used in our codebase or any plugins * DEV: Remove EventTarget. Future versions of Ember don't export this. * Build(deps): Bump aws-sdk-s3 from 1.61.2 to 1.62.0 (#9479) * FIX: Set category description to first posts cooked value (#9478) * FIX: Concurrency issues with making topic embedded posts visible * FIX: Don't make topics visible unless the posts are regular * FIX: Allow embed updates of just the title * FIX: Embedded topics couldn't update their titles * FIX: An `opts` hash was not, in fact, optional :) * FEATURE: Add created_at column to user_badges (#9463) * Build(deps-dev): Bump ruby-prof from 1.3.1 to 1.3.2 (#9474) * DEV: Add class to header-topic-info widget (#9475) * FIX: Wizard was creating duplicate Light theme if Light was selected (#9464) * DEV: upgrade Rails * Update translations * FEATURE: improve rendering of RSS feeds * FEATURE: Edit bookmark reminders from post and explicit delete button (#9455) * FIX: Restore to S3 didn't work without env variables * FIX: Infinite loop in migrate_to_s3 rake task * FIX: prevents custom emoji to show double colons and set background img (#9471) * Remove unused translation * FEATURE: Rake task to export groups (#9450) * Build(deps): Bump aws-sigv4 from 1.1.1 to 1.1.2 (#9465) * FIX: Set user timezone on password reset login (#9461) * Build(deps-dev): Bump byebug from 11.1.1 to 11.1.2 (#9462) * FIX: Do not raise an error if the post action type is nil (#9458) * DEV: Update tl3 spec to remove hard-coded primary keys * Build(deps): Bump sidekiq from 6.0.6 to 6.0.7 (#9460) * Revert "FIX: Detect more unsupported browsers" * Build(deps): Bump https-proxy-agent from 2.2.1 to 2.2.4 (#9453) * Upgrade rubocop * FEATURE: Users can be ignored for six months. (#9446) * PERF: Enable new user card route by default (#9442) * FIX: stops bookmark keybaod event to be propagated into modal (#9457) * FEATURE: Allow editing bookmark reminders (#9437) * UX: Set focus when launching composer on iOS (#9443) * FIX: topic title in search contains data-topic-id (#9435) * FIX: flaky groups_controller_spec (#9439) * UX: Wizard Font Size (#9448) * FIX: template-lint uses strict rel-noopener rule which requires noreferrer (#9449) * FIX: Abort emit_web_hook_event job cleanly if web hook was deleted (#9445) * linting (#9447) * REFACTOR: various refactoring applied to group pages (#9440) * FIX: Reviewable score JS was in the wrong folder * FIX: Keyboard navigation fixes in setup wizard (#9413) * revert heatmap color changes in favor of accessible theme * DEV: Fix no-implicit-this for all user-* components * FIX: don't demote users to TL2 when default trust level is 3 * FIX: ensures keyboard event is not propagated when using c shortcut (#9441) * FIX: Reopen sidekiq log files after rotation (#9429) * DEV: attempts to fix various leaks (#9428) * FIX: makes topic-list-item decorator work on mobile (#9433) * FIX: Minor bookmark with reminder issue cleanup (#9436) * FEATURE: Decorate topic-level bookmark button with reminder time (#9426) * FIX: Google groups import changed login URL (#9432) * FIX: attempts to listen more reliably to scopedCategoryId changes (#9431) * DEV: Only warn about invalid email setting in production * Build(deps): Bump parser from 2.7.1.0 to 2.7.1.1 (#9425) * FEATURE: add support for `upload` format in theme settings. * DEV: allows to decorate topic header class (#9427) * FIX: Only apply bold font on topic lists (#9396) * Only run ember-template-lint precommit on staged files * FIX: remove word boundary regex (\b) for search result highlights. (#9338) * DEV: Fix and enable the 'require-button-type' lint * DEV: Fix all 'require-valid-alt-text' lints except in reused compoments * FIX: add short_path to upload_serializer (#9417) * DEV: Confirm email when creating users via the API * DEV: themes_install_task find existing themes consistently (#9424) * DEV: pass widget back when cleaning up stream (#9422) * FEATURE: add user_session_refreshed trigger (#9412) * FIX: allows custom groups updates to be reflected without recompilation (#9421) * DEV: Add options to theme install rake task - more options (#9394) * FEATURE: Extend bookmark cutoff time for "Later Today" to 5pm (#9419) * DEV: hides double quotes lint changes from git blame (#9420) * DEV: enforces double quotes ember-template-lint (#9416) * FIX: Toggle bookmark for topic was not working after cancelling the modal (#9418) * FEATURE: enforce_canonical_emails site setting * Revert "We have had errors reported due to migrations breaking and are reverting" * DEV: upgrades ember-template-lint 2.5.2 (#9411) * UX: Prevent category dropdown from wrapping count, limit mobile width * FEATURE: New site setting `embed_unlisted` (#9391) * FEATURE: Plugin support for transpiling regular `.js` files (#9398) * FIX: Include subcategories in 'posts' report (#9410) * UX: Improve published page avatar resolution (#9405) * DEV: hides block-indentation lint changes from git blame (#9409) * DEV: enforces block-indentation of ember-template-lint rules (#9408) * UX: applies default background color to onebox (#9407) * FIX: remove invalid background (#9406) * UX: strip base64 image URLs when converting HTML to markdown. * FIX: show today's date on /users page period chooser * FIX: ensures toolbar is updated on composer action change (#9402) * FIX: Missing timezone guess on email session login (#9404) * UX: Note "Summarize This Topic" settings behavior * DEV: prevents toolbar callbacks to leak between tests (#9403) * FIX: use correct command line attribute for `gifsicle` while scale down the gif. * FIX: adds values/entries/NodeList.forEach/before polyfills for iOS 9.3 (#9401) * DEV: Use method instead of constant for discobot badge names * DEV: enforce no-quoteless-attributes ember-template-lint (#9400) * DEV: allows groups-selector to have an onChangeCallback (#9399) * FEATURE: add after-reviewable-post-user plugin outlet (#9397) * We have had errors reported due to migrations breaking and are reverting these series of commits. * REFACTOR: Resize controls (#9393) * Build(deps): Bump aws-eventstream from 1.0.3 to 1.1.0 (#9395) * PERF: Cache Category.subcategory_ids (#9350) * FIX: Detect more unsupported browsers * Fix broken bookmark translations for French * DEV: fake stdout must respond to close * DEV: avoid loading module in production * DEV: only enable SafeMigrate in development and test * DEV: demux stdout when running multisite migrate * PERF: speed up migrations on multisite * DEV: Refactor and test plugin addKeyboardShortcut (#9381) * DEV: reduce noise in logs regarding migration * FIX: Ensure first post is loaded before trying to bookmark topic (#9382) * FEATURE: Webhooks and Event for user being granted a badge * UX: Adjust noscript footer nav * DEV: Replace jquery.putCursorAtEnd (#9390) * FIX: WCAG-AA compliant topic list heatmap colors * FIX: Labels for modal close and dismiss-error buttons * FEATURE: Show noscript view to unsupported browsers (#9373) * FEATURE: Support for publishing topics as pages (#9364) * FIX: Add index on user_api_keys.key_hash (#9387) * FIX: ensure .gap width does not exceed window width * FIX: Quoting posts (#9378) * FIX: Prevent low score flags from auto-closing a topic if the reviewable default visibility is higher than low (#9375) * DEV: Fix some more flaky tests (#9384) * UX: displays full date time when displaying ranges (#9386) * UX: Ensures timezone is used over localTimezone when displaying dates * FEATURE: Add same site cookie 'None' option to make cross domain systems possible (#9374) * UX: display zones without prefix to reduce noise (#9383) * REFACTOR: local dates to improve reliability with DST and recurrence (#9379) * FIX: respect automatic group membership when sso changes email * DEV: reduce logging when no external id is specified * FIX: redirect `/my/*path` to `/login-preferences` on client side * FIX: Widen modal on desktop * FEATURE: screenreader landmarks for main, suggested topics * FIX: exclude private messages from TL3 requirements * FIX: reset gravatar cache by adding random param to URL (#9370) * FEATURE: Enable offline browsing and fullscreen PWA in iOS by default * FIX: Fix untitled/long links extending out box * FIX: CSV Exports were throwing errors with invalid dates * DEV: changes so plugins can customize invites UI (#9365) * DEV: Support for `onChange` on `{{text-field}}` (#9362) * DEV: upgrades vendored handlebars to 4.7.6 (#9371) * FIX: Include pending queued users regardless of their score (#9372) * Build(deps): Bump mini_sql from 0.2.4 to 0.2.5 (#9368) * DEV: Fix build * FEATURE: Hash user API keys in the database (#9344) * Revert DEFAULT_SHORTCUTS plugin API-breaking change * FIX: Show topic level bookmark with reminder modal (#9336) * DEV: Define keyboard shortcuts help onShow, and un-define onClose (#9355) * FEATURE: Bookmark keyboard shortcuts (#9318) * DEPRECATION: Remove support for api creds in query params (#9106) * DEV: Option for adding an icon in wizard-field-checkboxes component (#9363) * DEV: ensures CustomEmoji cache is cleared after spec (#9361) * FIX: revert inadvertently removed css class (#9360) * No category styles (#9359) * DEV: Allow using .js extension for javascript modules in themes (#9358) * Build(deps): Bump public_suffix from 4.0.3 to 4.0.4 (#9353) * Build(deps): Bump loofah from 2.4.0 to 2.5.0 (#9352) * Build(deps): Bump oj from 3.10.5 to 3.10.6 (#9351) * Build(deps): Bump aws-sdk-s3 from 1.61.1 to 1.61.2 (#9348) * Build(deps): Bump parser from 2.7.0.5 to 2.7.1.0 (#9347) * FIX: add category hashtags support for sub-sub categories. * FIX: prevents registering multiple `topic-notifications-button:changed` (#9356) * FIX: when loading drafts set the topic * FIX: Remove date from bookmark reminder non-English translations (#9354) * FIX: guardian always got user but sometimes it is anonymous (#9342) * FIX: Ensure category_id is an integer * FIX: Topic.time_to_first_response should include sub-sub-categories (#9349) * UX: Restyle bookmark reminder modal * UX: removes color on categories if no style chosen (#9346) * PERF: Backup with lots of uploads stored on S3 was slow * Improve Telligent import script * FIX: Limit personal message participants when converting from topic (#9343) * FIX: Check active themes for all requests * Build(deps-dev): Bump fabrication from 2.21.0 to 2.21.1 (#9341) * Build(deps): Bump tzinfo from 1.2.6 to 1.2.7 (#9340) * FIX: do not attempt to deselect tags if filter is not empty (#9345) * DEV: Increase process_post lock timeout * DEV: allow for internal format change of Drafts * FIX: jobs/delete_replies: Add Time+Duration, not Time+Time #9314 * DEV: avoid leaked HTTP call in test * DEV: remove targetUsernames deprecation * DEV: only load staff logs when page is visited * FIX: move total rows count & load more URL inside meta. * FIX: allows color-input to set hex and color names through input (#9339) * FIX: track links in onebox body if it's same as header link. * FIX: Default to light theme in wizard so that previews are displayed * REFACTOR: Move the multisite middleware to the front * DEV: Only include "report-sample" CSP directive when reporting is enabled (#9337) * FIX: show today's date on /top page period chooser * Revert "REFACTOR: Move the multisite middleware to the front" * FIX: jQuery deprecation warning (#9331) * REFACTOR: Move the multisite middleware to the front * DEV: use REPORT_REQUESTS=1 to find all requests * FIX: removing a timer with `duration` doesn't work. * FEATURE: Bookmark reminder type changes and bugfixes (#9329) * FIX: Set null high_priority columns to false in high priority notification migration (#9335) * DEV: don't use _ cause property is observed * FEATURE: Allow admins to disable self-service account deletion * FIX: replace default welcome topic post with new value from wizard * UX: Remove share as link fallback on touch devices (#9332) * DEV: Create wizard-field-checkboxes component (#9333) * UX: use color variable for background of shortcut keys * FIX: Restore failed if schema contained objects not owned by the current DB user * Build(deps-dev): Bump rubocop from 0.80.1 to 0.81.0 (#9330) * DEV: Allow plugins to add wizard steps after specific steps (#9315) * FIX: FlagSockpuppets should not flag a post if a post of that user was already rejected by staff (#9328) * DEV: post fixture mismatching topic fixture * FIX: ninja edit for replies not working * Get rid of named param double reference in UserBookmarkList * FEATURE: Add lazy loading to user bookmarks list (#9317) * FIX: correctly load drafts based of id * FIX: Staged users getting user_linked and user_quoted emails * FIX: Staged users getting user_linked and user_quoted emails * Follow-up to 8a52756 for safari * Fix currentUser not being loaded correctly in bookmark.js * UX: Break very long words in titles within menus * FEATURE: High priority bookmark reminder notifications (#9290) * FEATURE: add setting `auto_approve_email_domains` to auto approve users (#9323) * FIX: Bypass serviceworker cache for auth routes * fix documentation (#9327) * UX: minor tweaks to users directory last updated at styling (#9322) * fix translations impacting other tests (#9321) * FIX: the correct action for group-member-dropdown is now actOnGroup (#9320) * DEV: adds a new dropdown widget usable in any widget (#9297) * UX: better customize emoji layout on mobile (#9319) * FIX: when a post is moved copy notifications level (#9311) * DEV: adjust rake autospec to work with renamed es6 files * FIX: when switching reply type update options * UX: Add flair styles to latest topic list * FIX: do not save draft while it is loading * DOCS: Update DEVELOPER-ADVANCED.md (#9313) * FIX: backport reviewable topic claim not being shown correctly * FIX: claiming topics for the review queue * fix d-button tests (#9316) * DEV: adds a loading property to d-button (#9072) * DEV: Partial 'block-indentation' linting fixes * DEV: Enable and fix the 'no-multiple-empty-lines' lint * DEV: composer.hbs: fix indentation * DEV: Enable and fix no-trailing-spaces lint * FIX: error when changing a topic's category and creating a tag * FIX: makes clicking and displaying date picker more reliable (#9302) * FEATURE: Display "Last Updated At" on user directory * FEATURE: allows multiple custom emoji groups (#9308) * FIX: ensures mini-tag-chooser display min tags req if no selection (#9303) * FIX: prevents rendering empty timeline-controls (#9304) * FIX: correctly take category/group filters into csv export (#9300) * FIX: prevents exception when clicking component title above ace editor (#9309) * DEV: Allows moduleForWidget to use before/afterEach options (#9296) * DEV: trigger :username_changed when a user is renamed (#9301) * UX: ensures esc key is correctly working when in dates form (#9299) * DEV: Add Ember.PromiseProxyMixin to ember modules (#9312) * Build(deps): Bump cose from 0.11.0 to 1.0.0 (#9307) * Build(deps): Bump unf_ext from 0.0.7.6 to 0.0.7.7 (#9306) * FIX: allows adapters to define a custom primaryKey (#9254) * UX: Fix composer position on iPads with a hardware keyboard * FIX: allow invite email field to be blank for invite tokens * Build(deps): Bump logster from 2.7.1 to 2.8.0 (#9310) * FIX: get_size_from_image_sizes should return [width, height] or nil (#9298) * FIX: Quoting a nested quote should preserve original post info. * UX: Better spacing for icons in select-kit labels * DEV: Fix another time-sensitive flaky spec * FIX: custom SQL with a trailing comment might break BadgeGranter SQL (#9285) * FIX: check for presence of name before normalizing * DEV: Add rubocop-rspec (#9288) * Rename the server side widget hbs compiler * DEV: allows to decorate topic list item (#9294) * DEV: Add build_plugin_html to wizard head (#9293) * FIX: keep date object (#9292) * UX: improves date-time-input on mobile (#9291) * Revert "DEV: Enable and fix link-href-attributes lint" * Completely remove read only mode during backups (#9279) * FIX: Narrative bot not working for bookmarks with reminders (#9289) * FIX: ensure wiki editor is assigned consistently * UX: Align bulk select menu toggle relative to main wrapper when possible * DEV: long poll for 20 extra minutes when user stops interacting * FEATURE: option to update child theme components via theme CLI. * DEV: Use `type` instead of `method` in ajax calls (#8974) * DEV: Enable and fix the 'no-duplicate-attributes' lint * DEV: Add and disable all failing 'stylistic' lints * DEV: Disable all failing 'recommended' lints and extend 'recommended' * sorting fix * DEV: Enable and fix the 'require-iframe-title' lint * DEV: Enable and fix link-href-attributes lint * DEV: Enable all 'recommended' passing ember template linting rules * DEV: Fix flaky emoji-store tests * FIX: Auto redirect had invalid extension * FIX: Broken transpilation * FIX: `nil` != `false` * Revert "FIX: Resolver wasn't being set properly" * Retry: Rename all test files from JS -> ES6 * FIX: mbox import failed if no tags were configured * FIX: The migrate_to_s3 rake task couldn't find the AWS SDK * FIX: Importing with pgbouncer failed * DEV: Improve import of attachments from Telligent * DEV: Update rubocop-discourse (#9270) * FIX: groups filtering input was causing a full page reload (#9282) * FIX: Perform crop using user-specified image sizes (#9224) * FIX: Use correct spacing in emails with code (#9274) * FIX: Display small post actions when embedding a topic (#9278) * DEV: prefer Date.now() over new Date().getTime() * FEATURE: Stricter rules for user presence * FIX: First pass to improve efficiency of secure uploads rake task (#9284) * DEV: Fix flaky time sensitive uploads.rake specs (#9283) * FEATURE: invite_code is case-insensitive * Add additional classes to topic-map stats * DEV: skip this test for now, failing randomly on CI (#9280) * FEATURE: Unassign the review queue topic when a flag is handled * FIX: Change secure media to encompass attachments as well (#9271) * Revert "Rename all test files from JS -> ES6" * Revert "Another ignore entry" * Revert "Move the widget-hbs compiler to js from es6" * Revert "FIX: Resolver wasn't being set properly" * Revert "FIX: Allow JS transpilation" * FIX: Allow JS transpilation * FIX: Resolver wasn't being set properly * Move the widget-hbs compiler to js from es6 * Another ignore entry * Rename all test files from JS -> ES6 * FIX: Use 1 column instead of 4 for permalink destination (#9260) * UX: disallow tag creation in "default tags" site setting choosers. * DEV: allows time-input to be clearable (#9277) * Fix the typo. * FIX: ensures we have a date object in date-time-input (#9276) * FEATURE: Allow plugins to exclude wizard steps (#9275) * Ignore latest * Last ES6 files in our app/assets/javascripts * FIX: TopicEmbed#absolutize_urls was trying to modify a frozen string * FEATURE: List search menu shortcuts in instructions modal (#9273) * DEV: allows to use routeAction from components/widgets (#9267) * DEV: Remove migration which was erroneously added in d62d258f * Revert "FIX: word boundary regex (\b) not working in Unicode languages. (#9163)" * UI: Fix 'lock' icon spacing in category dropdown * FIX: word boundary regex (\b) not working in Unicode languages. (#9163) * FIX: Fix image optimization pipeline (#9257) * FIX: ensures search-menu is not briefly showing previous results (#9272) * FEATURE: Navigate through search results using J/K (#9264) * DEV: update unicorn * FEATURE: Unassign the review queue topic when a flag is handled * FIX: user-selector was not excluding currentUser (#9266) * Ignore more * Rename more es6 files to js * More JS files * This should be js * Ignore more commits * Migrate ember-addons from ES6 -> JS * UI: Update margin select kit category name * DEV: Ensure uploads aren't deleted during imports * DEV: Bump theme compiler version for CSP change * FIX: race conditions in search menu (#9262) * SECURITY: Ensure user can see group and group members * SECURITY: Ensure user can see group and group members * DEV: Move requested_group_id custom field from post to topic (#9127) * Make qunit test code more clean. * Revert "DEV: upgrade Rails" * FIX: prevent scheduled publishing to deleted category * DEV: upgrade Rails * DEV: Add test case for /srv/status probers (#9259) * DEV: Bump pg from 1.2.2 to 1.2.3 (#9235) * DEV: Bump annotate from 3.1.0 to 3.1.1 (#9261) * DEV: upgrade json gem and add explicit dependency * FIX: Improve user timezone saving (#9230) * FIX: Check for permalinks before showing the 404 page * FIX: correctly remove authentication_data cookie on oauth login flow (#9238) * FIX: consistency to show mute/ignore menu in user profile * FEATURE: prevent accidental canceling when drafting penalties (#9129) * UX: display avatar flair in categories route topic list items (#9197) * Don't blame these renames * Migrate `discourse-common` from es6 -> js * Build(deps): Bump sidekiq from 6.0.5 to 6.0.6 (#9258) * FIX: Wizard tests were missing * Ignore wizard es6 rename * Convert wizard es6 files to js * UX: Larger tap areas for profile panel in user menu on mobile devices * DEV: adds afterCreate/beforeUpdate hooks to rest models (#9253) * FIX: respect `prioritize_username_in_ux` setting on /about page * Build(deps): Bump onebox from 1.9.26 to 1.9.27.1 (#9255) * UX: Hotkey K can select partial posts * SECURITY: Respect topic permissions when loading draft metadata * SECURITY: Respect topic permissions when loading bookmark metadata * SECURITY: Respect topic permissions when loading draft metadata * FIX: middle click was reading every notifications (#9252) * Improve Telligent import script * FIX: Backfill topic timer duration (#9249) * FIX: correctly remove authentication_data cookie on oauth login flow * FIX: post edited webhook does not reflect updated topic title * DEV: Update spec for category permalink * FIX: Permalinks should redirect to category URL including the ID * Revert "FIX: correctly remove authentication_data cookie on oauth login flow (#9238) (#9251)" * FIX: correctly remove authentication_data cookie on oauth login flow (#9238) (#9251) * FEATURE: Show votes in an "on voted" poll to the creator * Revert "FIX: correctly remove authentication_data cookie on oauth login flow (#9238)" * Convert select-kit from es6 to js (#9246) * UX: Disable highlight animation on deleted posts * FIX: Moderators should be able to review flagged PMs since this has always been like this * DEV: Use the `type: :multisite` spec setting (#9245) * FIX: Don't fail if the test environment doesn't support Webauthn * Migrate pretty-text to `.js` extensions (#9243) * Build(deps): Bump aws-sdk-s3 from 1.61.0 to 1.61.1 (#9216) * FIX: Include entire slug path in permalinks * DEV: increase timeout for initial context eval * FIX: add support for sub-sub category slugs in search * FIX: Allow CSP to work correctly for non-default hostnames/schemes (#9180) * DEV: Pin hashie and faraday versions for zendesk api compatibility (#9214) * FIX: update `email_digests` user option when `default_email_digest_frequency` updated. * DEV: Load plugin stylesheets before theme stylesheets (#9240) * DEV: allows to run up/down migrations of a plugin (#9241) * FIX: Show the envelope icon when the flagged post is a PM. Flagged PM must be exclusively reviewed by admins (#9232) * FIX: Fix a PostgreSQL error when a draft was concurrently created * FIX: use the new duration attribute in `set_or_create_timer` method. * DEV: Load plugin stylesheets before theme stylesheets (#9240) * FIX: correctly remove authentication_data cookie on oauth login flow (#9238) * FEATURE: automatically delete replies on a topic after N days. (#9209) * FIX: N1 issues for bookmark list (#9236) * SECURITY: Prevent access to other user's bookmark lists * FEATURE: Google Calendar doesn't support URL in iCalendar, add fallback description * FEATURE: iCalendar feed for Bookmark reminders * FIX: Use id instead of elementId in hbs file * FIX: Improve HTML to Markdown conversion (#9231) * FIX: Condense line codes in emails (#9225) * FIX: Prevent mobile bookmark modal cutoff * Add spec for CSP subfolder * FIX: theme-javascripts using incorrect subfolder setting * FIX: Broken computing of userHasTimezone in bookmark modal and missing tap-tile templates for regular users (#9229) * Fix the build. Remove the branch value if available. * FIX: Remote themes Github link should go to custom branch #9184 * Build(deps): Bump aws-partitions from 1.283.0 to 1.284.0 (#9227) * FEATURE: Demote muted categories on category list (#9226) * Build(deps): Bump aws-partitions from 1.281.0 to 1.283.0 (#9217) * Build(deps): Bump rspec-expectations from 3.9.0 to 3.9.1 (#9211) * DEV: Add class to backup restore buttons, for easier targeting * FIX: consistency to show mute/ignore menu in user profile * FIX: Don't display webhooks for inactive plugins (#9206) * DEV: Replace User.unstage and User#unstage API with User#unstage! (#8906) * FIX: Dismiss notifications on middle click (#9098) * Build(deps): Bump rack-mini-profiler from 1.1.6 to 2.0.1 (#9222) * UX: Refresh group membership list when removing users or changing owners * Build(deps): Bump rbtrace from 0.4.11 to 0.4.12 * FIX: Add basePath to link for "no timezone" in bookmark modal * FIX: Improve bookmark modal on mobile and bookmark sync rake task (#9221) * FIX: Ensure show_short URLs handle secure uploads using multisite (#9212) * FIX: sync-alt is used on composer draft indicator * DEV: Only show deprecation message for non-whitelisted requests * DEV: Bump omniauth from 1.9.0 to 1.9.1 * FEATURE: Show rejected posts count in user summary (#9204) * FIX: Use delete_all_posts_max to improve consistency when using the delete button from the admin view (#9194) * DEV: Bump OAuth2 from 1.4.2 to 1.4.4 * DEV: Remove unused middleware (#9203) * FIX: Show time input in poll builder (#9128) * Build(deps): Bump zeitwerk from 2.2.2 to 2.3.0 (#9102) * Build(deps-dev): Bump parallel_tests from 2.31.0 to 2.32.0 (#9210) * Build(deps): Bump rubyzip from 2.2.0 to 2.3.0 (#9208) * DEV: fix "addNavigationBarItem" documentation (#9207) * UX: Improve suspect user copy on /review * FIX: check for existence of post before creating notification * FIX: Bookmark reminders and improvements changes (#9213) * FIX: Ensure show_short URLs handle secure uploads using multisite (#9212) * FIX: Fix html response in development after ApplicationController reload * UX: Remove "Live Notifications" user profile section on iOS * FIX: Plugins may have relative symlinks * FEATURE: optional global invite_code for account registration * FIX: RANDOM_PASSWORD not working rake admin:create * FIX: Method from Telligent import script was deleted by accident * FIX: Ignore suspect users that were migrated or users who were created more than six months ago (#9205) * DEV: Better handling of incremental scrapes for Google Groups * DEV: Improve mbox import script * DEV: Improve Telligent import script * DEV: Don't deactivate suspended users during import * FIX: Failed to restore backups from versions without translation overrides * Ignore filename change * Rename `.js.es6` to `.js` in the admin application * UX: uses mod+p instead of ctrl+p and command+p for printTopic (#9202) * DEV: Correct references to theme flags * FIX: remove parent tag from tag group * UX: Improve copy for suspect users feature (#9201) * DEV: Introduce plugin api for conditionally rendering assets (#9200) * Build(deps): Bump rails_multisite from 2.1.0 to 2.1.1 (#9196) * UX: Better spacing for icon in select-kit label * DEV: gives sk components a way to trigger a search manually (#9199) * FIX: throttles topic tracking shortcut and enforces topic id (#9159) * FEATURE: Add enable_bookmark_at_desktop_reminders site setting (#9198) * Fix error on create bookmark for topic * FIX: Make sure bookmark serializer works with deleted topics + posts (#9195) * FIX: Add topic deleted check to email/sender (#9166) * it's 2020 now, though maybe we all wish it wasn't * Run prettier on a couple of files * Don't blame the big rename commit * Rename many `.js.es6` files to `.js` * DEV: Allow plugins to add theme modifiers via db migrations (#9192) * FIX: prevents i18n helper to return a SafeString (#9191) * FIX: Notification emails with attachments are incorrectly structured * FEATURE: Add support for custom gravatar-like services (#9137) * Build(deps-dev): Bump ruby-prof from 1.3.0 to 1.3.1 (#9186) * FIX: Enter submits form for hyperlink insert modal (#9190) * FIX: prevents crash when to be unescaped emoji is not a string (#9189) * FIX: differentiates flag-modal and flag-modal-body (#9187) * FIX: Show topic progress on iPad when portrait-oriented (#9181) * fix the build. * Update required Redis version. * UX: respect `prioritize_username_in_ux` setting for user avatar title * FEATURE: allow for a larger maximum post length * DEV: enforces ember-template-lint: no-html-comments (#9183) * FIX: ensures pinned-options header is showing correct state (#9156) * Make sure reminder not sent for deleted post bookmark * Unscope post + topic relation for bookmark * FEATURE: MVP Bookmarks with reminders user list changes (#8999) * FEATURE: Allow custom date + time for bookmark reminders (#9185) * FEATURE: Send notifications for time-based and At Desktop bookmark reminders (#9071) * FIX: When must_approve_users is enabled, we don't want to send suspect users to the review queue. Only non-approved users should be sent. Provide a migration to auto-approve every problematic review item (#9179) * DEV: Revert rack-mini-profiler version bump * DEV: Mini Profiler shouldn't be loaded in test environment * Build(deps): Bump rack-mini-profiler from 1.1.6 to 2.0.0 (#9168) * Let's not log the username/password * Let's not log the username/password * DEV: Support adding keybindings via plugins (#9177) * FIX: Missing constant in SMF2 importer (#9178) * FIX: Typo on draft save * FIX: ContactPicker was not setting invite input on topics * REFACTOR: removes legacy bootstrap css class (#9174) * DEV: applies default modal class to a modal when shown (#9175) * FIX: featured_topic.fancy_title was rendered without emojis (#9176) * DEV: enforces ember-template-lint: no-partial (#9173) * DEV: defines a constant for INPUT_DELAY (#9169) * Build(deps-dev): Bump webmock from 3.8.2 to 3.8.3 (#9167) * Support for transpiling `.js` files (#9160) * DEV: hbs extensions are misleading in this case (#9170) * FEATURE: Allow themes to specify modifiers in their about.json file (#9097) * FIX: Various fixes to support posts with no user (#8877) * DEV: popperjs 2.0.6 (#9171) * DEV: enforces ember-template-lint: no-triple-curlies (#9165) * FIX: last ip address could point at wrong ip * FIX: last ip address could point at wrong ip * Update README to reflect current supported Ruby version * FIX: ensures category exists for hideParent in categoryBadgeHTML (#9161) * DEV: Fix flaky `signed_url_for_path` spec * FIX: Throw error when removing a user from group fails (#9162) * DEV: Improve flaky time-sensitive specs (#9141) * Revert "DEV: enforces ember-template-lint: no-triple-curlies (#9150)" * FIX: don't break the private key when writing it out during theme import * FIX: throttles topic tracking shortcut and enforces topic id (#9159) * DEV: enforces ember-template-lint: no-triple-curlies (#9150) * FIX: Preserve TopicCreator's timestamp resolution (#9158) * Build(deps): Bump aws-sdk-sns from 1.21.0 to 1.22.0 (#9154) * Build(deps): Bump aws-sdk-s3 from 1.60.2 to 1.61.0 (#9153) * DEV: Replace save-button partial with a component (#9066) * FEATURE: Broader support for post uploads in video markup (#9152) * FEATURE: Approve suspect users is now true by default. The suspect users list was removed (#9151) * FIX: correctly checks if component is in modal (#9157) * FIX: ensures pinned-options header is showing correct state (#9156) * FIX: Set current user timezone when saving profile timezone (#9155) * Add tests for /srv/status behavior * DEV: shutdown_ok parameter to /srv/status * FIX: Incorrect message when logging in via email * FIX: Error message for 403 when featuring topic on profile (#9149) * Merge imports from the same module (#9144) * FIX: Preserve PostCreator's created_at resolution (#9140) * DEV: Replace `Time.new` with `Time.now` (#9142) * FEATURE: Improve keyboard shortcuts help modal (#9143) * FIX: Use `bio_excerpt` when checking for presence (#9148) * FEATURE: Add embed_set_canonical_url setting (#9134) * DEV: enforces ember-template-lint: no-unbound (#9147) * FIX: removes legacy refreshQueryWithoutTransition (#9145) * DEV: enforces ember-template-lint: simple-unless (#9146) * DEV: Improve mbox import script * FEATURE: Add site setting to disable staged user cleanup * UX: adds support for a color setting type (#9016) * DEV: enforces ember-template-lint: no-unused-block-params (#9138) * FIX: ensure category and tags can be changed from reviewable (#9139) * FIX: Embarassing algoriths typo -> algorithms for security keys (#9126) * FIX: Check if auth token exists before revocation (#9095) * FIX: Prevent race condition when post processing post (#8819) * DEV: enforce ember-template-lint: no-unnecessary-concat (#9133) * DEV: Clean up Ember imports (#8979) * FIX: Tolerate quotes with no username and no title * FIX: Import posts of missing users from phpbb3 (#9085) * FIX: Prevent avatar flair image from repeating on user/group cards * FIX: allows to define placement strategy of select-kit body (#9109) * FIX: uses only global allow_uncategorized_topics for category drop (#9130) * FIX: Correctly format select options for group poll by fields (#9131) * FIX: Allow quoting from a closed topic while writing a reply * FEATURE: prevent accidental canceling when drafting penalties (#9129) * Drop unnecessary readonly_during_backup setting (#9112) * DEV: Reserve webhook event types to be used in plugins (#9110) * DEV: Use aliased `inject` imports (#9086) * Elastic Email can now disable the UNSUB link for Discourse installs (#8986) * DEV: Test theme js compiler append_raw_template (#8950) * DEV: enforces link-rel-noopener linting rule (#8936) * Remove very bad tests * Revert "Revert "FIX: Don't allow people to clear the upload bucket while it's enabled"" * DEV: Use the updated version of our mousetrap fork (#9111) * FEATURE: New route for loading multiple user cards simultaneously (#9078) * FIX: Show a nicer error if name/code missing for TOTP/Security Keys (#9124) * DEV: attempt to stabilize flaky spec * Revert "FEATURE: prevent accidental canceling when drafting penalties (#9105)" (#9122) * FEATURE: prevent accidental canceling when drafting penalties (#9105) * FEATURE: Option to connect to Redis using SSL * Revert "FIX: Don't allow people to clear the upload bucket while it's enabled" * Version bump to v2.5.0.beta2 * FIX: Don't allow people to clear the upload bucket while it's enabled * DEV: fix formatting * Warn if their CDN URL doesn't have a protocol * FEATURE: Treat /go/ as a server-side route * FIX: Use destroy_all instead of delete_all for shared drafts * DEV: Clean up selectors on backup modal (#9114) * FIX: Do not raise an error when in:all search is performed by anon (#9113) * Update translations * Version bump to v2.4.1 * FIX: Restoring with `disable_emails: false` didn't work anymore * FIX: Stop infinite lookup-urls issue for video/audio on page (#9096) * FIX: prevents click on sk header to bubble (#9084) * FIX: Google Groups scraper failed to login * PERF: improve performance of category topic list * FIX: Sync preload key format for category topic lists * DEV: Fix build * FIX: prevents loading to show during debouncing (#9060) * FIX: prevents row click event to be caught by filter input event (#9059) * FIX: Polyfill Promise for IE11 (#9057) * SECURITY: Add more restrictions on invite emails * SECURITY: Ensure the invite JSON API matches the UX * SECURITY: Add more restrictions on invite emails * SECURITY: Ensure the invite JSON API matches the UX * FEATURE: add child theme components in theme metadata. * FIX: Clobbering plugin files on startup is problematic * Remove invite_admin route. * Add classes for second-factor preferences * UX: Input adjustments for category setting modal (tags tab) * Remove some legacy tiger-striping css * DEV: Mark `discourse-categories-suppressed` as official * FIX: Don't optimize icons during db:migrate when restoring backup * FIX: allows to select the action when agreeing with penalty (#9099) * Build(deps): Bump oj from 3.10.3 to 3.10.5 (#9107) * FIX: allows to select the action when agreeing with penalty (#9099) * FIX: Migrating uploads to S3 could miss files * Revert "FIX: under concurrent usage booting rails could cause plugin corruption" * Revert "DEV: correct typo in param name" * DEV: correct typo in param name * FIX: under concurrent usage booting rails could cause plugin corruption * REFACTOR: separate post_can_act logic in post action creator (#9103) * FIX: Use full URL for secure attachments when secure media enabled (#9037) * Build(deps): Bump nokogiri from 1.10.8 to 1.10.9 (#9093) * PERF: Allow preloading 'recent time read' for a user (#9076) * PERF: Allow user serializer to make use of preloaded custom fields (#9074) * FIX: Stop infinite lookup-urls issue for video/audio on page (#9096) * DEV: Bump Logster version to 2.7.1 * DEV: Upload and secure media retroactive rake task improvements (#9027) * Build(deps-dev): Bump annotate from 3.0.3 to 3.1.0 (#9091) * Build(deps): Bump oj from 3.10.2 to 3.10.3 (#9092) * DEV: Use async functions in tests (#9087) * FIX: We need to skip users with associated reviewables when auto-approving (#9080) * Build(deps): Bump hashdiff from 1.0.0 to 1.0.1 (#9068) * Build(deps): Bump aws-sigv4 from 1.1.0 to 1.1.1 (#9067) * FEATURE: alows to add a description link to a report (#9065) * DEV: Run prettier on staged files before commit using lefthook (#9064) * FIX: Allow users to create polls in PMs with non human users (#9055) * FIX: Add aria-labels to topic list items (#9048) * UX: attempts to increate popup menu hitzone on mobile (#9038) * DEV: Import pretender instead of global server var (#8996) * DEV: Remove uses of deprecated `Ember.copy` and `Copyable` (#8978) * DEV: Remove the last (defunct) use of Ember.View (#8976) * PERF: Allow passing an existing list of user field ids when loading (#8970) * FIX: Topics should honor auto-close when published to category (#8963) * UX: Allow correct pluralization for "too few topics and posts" notices (#8947) * Build(deps-dev): Bump rubocop from 0.80.0 to 0.80.1 (#9081) * Build(deps): Bump puma from 4.3.2 to 4.3.3 (#9079) * Build(deps-dev): Bump better_errors from 2.5.1 to 2.6.0 (#9043) * Build(deps-dev): Bump simplecov from 0.18.3 to 0.18.5 (#9044) * FIX: prevents click on sk header to bubble (#9084) * FEATURE: Enable service worker on iOS PWA * FIX: Restoring with `disable_emails: false` didn't work anymore * FIX: Google Groups scraper failed to login * DEV: Fix lint error introduced in 58f16f2 * FIX: Make FooterNav work with PWAs on iPadOS * Revert "Build(deps-dev): Bump annotate from 3.0.3 to 3.1.0 (#9013)" * Build(deps): Bump rails_multisite from 2.0.7 to 2.1.0 (#9083) * DEV: Minor review fixes and fix bookmark spec logging (#9045) * DEV: Add docker cleanup script to d/ folder * DEV: spec suite fails on leap years * PERF: improve performance of category topic list * DEV: remove dead code * Build(deps): Bump puma from 4.3.1 to 4.3.2 (#9063) * FIX: ensures category url of category drop is built using slug and id (#9069) * fix invalid byte sequence in UTF-8 (ArgumentError) (#9077) * FEATURE: Always disable customizations on the `/safe-mode` route (#9052) * DEV: Fix build * FIX: Sync preload key format for category topic lists * FIX: Ignore secure-media-uploads for miniprofiler (#9070) * FEATURE: unconditionally skip indexing on search controller * FIX: Prettier on iframed-html component (#9062) * Merge pull request from GHSA-vw39-6w7q-gfx5 * FIX: Prettier on iframed-html component (#9062) * Merge pull request from GHSA-vw39-6w7q-gfx5 * FIX: When appending tags to restricted category posts, we need to pass the category id, or it won't work. (#9020) * FIX: prevnets loading to show during debouncing (#9060) * FIX: prevents loading to show during debouncing (#9060) * FIX: Bulk badge awards should work even if the CSV has nil values * FIX: Skip poll tutorial if user cannot create polls (#9058) * UX: Differentiate Between PMs and Topics in Search Results (#8933) * FIX: prevents row click event to be caught by filter input event (#9059) * FIX: Skip 'invited' small action if user is in an invited group (#9056) * FIX: Polyfill Promise for IE11 (#9057) * UX: prevents jumpyness when displaying poll voters (#9054) * FEATURE: auto archive group message if topic is closed. (#9046) * FIX: downloaded image URLs incorrectly replaced in post raw. (#9014) * Version bump to v2.5.0.beta1 * Version bump to v2.4.0 * Build(deps): Bump logster from 2.6.3 to 2.7.0 (#9050) * FIX: Another attempt at fixing reviewable claiming * FIX: Claim reviewable button did not show up for all topics * FIX: Lefthook was not excluding enough JS * Merge diffs from master * FIX: ensures destroying a user with security keys doesn't fail (#9042) * FIX: Include `.json` suffix for email login route (#9041) * Update translations * FIX: Make reviewable claiming work with deleted topics (#9040) * FIX: Sync Ember and non-Ember layouts (#9028) * FIX plugin generator: mobile, desktop stylesheets registering (#9039) * UX: hides emoji picker from edit category tab topic template (#9036) * UX: hides local-date picker when used outside of main composer * FIX: ensures topic count is correctly showing in box category badges (#9034) * FIX: Translate none-tag and all-tags labels in tag filter (#9030) * Build(deps): Bump bootsnap from 1.4.5 to 1.4.6 (#9032) * DEV: Improvements to SMF2 script (#9006) * Build(deps-dev): Bump simplecov from 0.18.2 to 0.18.3 (#9025) * Build(deps): Bump simplecov-html from 0.12.0 to 0.12.1 (#9024) * FIX: ensures scoped search category is searching in all categories (#9031) * UX: Restrict icon height in btn-small to prevent height inconsistency * FIX: ensures we don't attempt to create a new PM on an existing topic (#9029) * Build(deps-dev): Bump ruby-prof from 1.2.0 to 1.3.0 (#9023) * FEATURE: limit number of notifications per user to 10,000 * DOC: improve documentation of image limit site settings * modal footer button height fix * FIX: blank popular posts in summary emails due to lightbox images * FIX: ensures group automatic membership dropdown works (#9022) * UX: Eliminate double modal scroll on long mobile create account forms * Follow up padding fix to de559f3 * FIX: muted was not working in topic timeline (#9021) * FEATURE: Publish a message when reviewable claimer changes (#9019) * FIX: Ensure web hooks are retried at most 5 times * DEV: Deprecate `ember` module imports (#9011) * DEV: Add more `@ember` imports (#9012) * FIX: correctly shows suggested topics label (#9017) * FIX: ensures mini-tag-chooser is respecting max_tags_per_topic (#9018) * FIX: use dedicated site attribute in category + tag filtered pages too. * FIX: Consider webp a supported image format for upload (#9015) * Fix broken secure media specs * FIX: Only mark attachments as secure media if SiteSetting.secure_media? (#9009) * FIX: TOTP could not be used on sites with colons in their names * FEATURE: Admins can configure the reflag cooldown window and if posts flagged as spam by TL3+ users get automatically hidden (#9010) * Build(deps-dev): Bump annotate from 3.0.3 to 3.1.0 (#9013) * DEV: Improve video onebox stripping spec * FIX: Restore initState() call within discourse-location for subfolder * UX: use same styling for username and user-name * FIX: respect prioritize_username_in_ux setting in email UX: only the first attribute should be hyperlinked UX: add margin based on attribute position * Suppres task spec output using capture_stdout * FIX: correct upload statistics report for external storage * FIX: When admin changes staff email still enforce old email confirm (#9007) * Work around deleted upload.access_control_post scoping issue * FIX: When admin changes another user's email auto-confirm the change (#9001) * FIX: Remove broken error dismiss button * FIX: Respect muted tags for mailing list mode * Build(deps-dev): Bump rubocop from 0.79.0 to 0.80.0 (#8997) * FEATURE: Add plugin outlet below login/create, add outlet to mobile * FIX: Minor linting issue for future rubocops * Additional padding follow up to de559f3 * This rule was removed from Rubocop due to different behavior in Ruby 3. * Build(deps-dev): Bump shoulda-matchers from 4.2.0 to 4.3.0 (#8989) * UX: Improve small buttons appearance (#8990) * DEV: Find/replace deprecated decorators * FIX: Disable save button for API key creation when invalid (#9005) * FIX: Patch ActiveRecord SchemaCache for safe concurrency support * Follow-up padding fix for de559f3 * FIX: Remove border-box from modal-body to avoid iOS fixed position bug * Link website when reviewing users * FIX: makes setting-object capable of defining value/name properties itself (#9003) * FIX: prevents setting default values on setting component to reload page * Revert "FIX: enums should be treated as flat arrays (#8995)" * DEV: Silence spurious rubocop lint warning * DEV: Add optional support for running byebug when a PG Clash happens * DEV: Import `makeArray` from `discourse-common` instead using `Ember` global (#8977) * DEV: allows to import isPresent (#8993) * FIX: prevents notifications button to be cutoff on mobile (#8998) * FIX: enums should be treated as flat arrays (#8995) * FIX: group members dropdown was broken on mobile (#8994) * FIX: remove anchors from banner headings. * FIX: Mentions updater should work regardless of `.notify` * FIX: Group mentions were not being cooked the same was as previewed * UX: Show mentions properly in small post messages * UX: Adjust width for topic notifications dropdown on mobile * DEV: Improve pg connection access logging * FIX: ensures report-filter/category is correctly filtering (#8992) * DEV: Handle nil backtraces in pg access logs * DEV: Initialize pg access log mutex in non-sidekiq processes * FEATURE: Support uploading a csv with either user emails or usernames (#8971) * DEV: Report simultaneous use of PG::Connection objects * FIX: Use 'hostname' when Discourse.os_hostname is not available * FIX: Disable poll options if user groups do not allow them (#8987) * Rubocop lint * Try fix upload_spec flakys and remove logging from tasks/uploads_spec * DEV: use DiskSpace module for all disk space calculations * PERF: avoid shelling to get hostname aggressively * Include access control post when loading uploads in rake task * DEV: flag MRI specific gems * Increase topic breakpoint width to avoid small range where layout wraps * DEV: Bump Logster version to 2.6.3 * UX: Keep mobile composer category and tag inputs on one line * FIX: Strip video oneboxes from excerpts * DEV: Allow raw PG tracing to be enabled only for sidekiq processes * Minor mobile alignment fixes * FIX: Some select-kit dropdowns were cut-off by hidden overflow in modals * DEV: Add a test to make sure that flagged replies are ignored when calling the delete_and_agree_replies method * DEV: Add raw PG connection tracing behind an environment variable * UX: minor tweaks to poll builder UI (#8985) * FIX: use separate site attribute for single category "top tags" list. * DEV: Correct test names * Revert "FIX: sk body should follow wrapper width (#8984)" * FIX: Use correct translation string * FIX: sk body should follow wrapper width (#8984) * FIX: prevents error when loading tag groups (#8983) * FIX: prevents expand post to trigger page routing (#8982) * FIX: Tweak upload security emoji check (#8981) * FIX: Improvements and fixes for update_upload_acl rake task (#8980) * FIX: Never mark uploads based on regular emoji secure (#8973) * FIX: invalid syntax in elsif in Theme importer * Revert "Build(deps): Bump oauth2 from 1.4.2 to 1.4.4 (#8952)" * Build(deps): Bump oauth2 from 1.4.2 to 1.4.4 (#8952) * UX: Cap height of user fields on mobile user-cards, add line-clamp mixin * UX: Cap staff action detail height * FIX: Toolbar menu specificity * DEV: Remove unused BreakString class (#8942) * FIX: Username mentions lost styling * FIX: If a group is unmentionable, don't render it as mentionable * FIX: tag topic counts wrong after adding synonyms * FEATURE: Users cannot reflag recently handled items using the same reason unless the post was edited, or it was reviewed more than 24 hours ago. (#8969) * DEV: Concatenate value-list choices array * FIX: value-list choices when removing a value * FIX: Confirm `draft_key` is present on GET * FIX: Return a 404 when the `draft_key` is missing * DEV: remove unused 'composer/parse_html' route * PERF: Memoize allowed user fields more efficiently (#8968) * FIX: prevents everyone group to show as group option for polls (#8957) * DEV: Update the site title in qunit fixtures (#8959) * DEV: Improve code readability (#8967) * FIX: brings back castInteger as a safer migration path for sk2 (#8966) * DEV: Add test (#8961) * DEV: Add test (#8960) * FIX: when unread reply notification exists don't create new (#8921) * FIX: update `Site.top_tags` in "categories" route if topic list available. * DEV: Bump sidekiq from 6.0.4 to 6.0.5 (#8964) * FIX: Never allow custom emoji to be marked secure (#8965) * FIX: displays selection text when no default_notification_level is set (#8962) * FEATURE: adds a new plugin api to decorate plugin outlets (#8937) * Version bump to v2.3.10 * DEV: Bump omniauth-github from 1.3.0 to 1.4.0 (#8924) * FEATURE: support MaxMind DB downloads using a license key * FIX: Ensure sourcemap's source is correct. Uses the full assets path this time. (#8774) * Version bump to v2.3.9 * SECURITY: Do not create a notification if a staged user post gets quoted/linked inside a restricted category * SECURITY: use strict JSON parsing when parsing backup metadata * FIX: Use cached MaxMind DB for longer * FIX: Gemfile bundler was breaking build * FIX: Build was broken due to missing file * Version bump to v2.3.8 * SECURITY: Correct permission check when revoking user API keys * SECURITY: vulnerability in WildcardUrlChecker * SECURITY: upgrade rack-mini-profiler to avoid possible XSS (#8537) * SECURITY: Ensure only image uploads can be inlined * SECURITY: Remove event handlers from SVG files * Version bump to v2.3.7 * DEV: s/\$redis/Discourse\.redis * DEV: Implement a faster Discourse.cache * DEV: use Discourse.cache over Rails.cache * Version bump to v2.3.6 * DEV: Update users controller spec following user_search update * FIX: Handle nil case for avatar, just in case * FIX: Allow avatar downloads to follow redirects * SECURITY: Check permissions when autocompleting mentions * FIX: Broken certificates * FIX: Rate limit and hijack certificate generation. (#8215) * FIX: Narrative Bot certificates are ERB templates (#8174) * Version bump to v2.3.5 * DEV: Bump uglifyjs (#7834) * SECURITY: mini profiler enabled incorrectly for admins * DEV: Allow specifying button class in reviewable action definitions (#8093) * FIX: change focus when application resumes in android * Version bump to v2.3.4 * Spec should not depend on aliases * SECURITY: Don't allow base_uri as embeddable host if none exist * SECURITY: update rack-mini-profiler to latest to correct XSS * SECURITY: XSS when oneboxing user profile location field * FIX: Improve protection against problematic usernames (#8097) * FIX: IE grid layout issue on user's own activity page * Use Discourse.getURL for /clicks/track so clicks can be tracked on relative URLs (#8079) * DEV: plugin API to register User custom field types * FIX: :reject_user_delete action can only be handled by ReviewableUser (#8068) * FEATURE: add before-topic-progress plugin outlet * Version bump to v2.3.3 * Feature/Fix: Flagged posts user notifications (#8041) * FIX: When activating via omniauth, create tokens after password reset * FIX: When activating a user, ensure the change is reflected immediately * SECURITY: Reset password when activating an account via auth provider * FIX: add_to_serializer not correctly accounting for inheritance chains * SECURITY: add rate limiting to anon JS error reporting * SECURITY: don't reveal category details to users that do not have access * SECURITY: Restrict message-bus access on login_required sites * FIX: Disallow user self-delete when user posted in PMs * FIX: Use unescaped title as combo-box id (#7979) * FIX: Composer preview on IE11 (#7970) * Revert "FEATURE: add Noindex to robots.txt for disallowed routes" * FIX: Hide live-loaded posts from ignored users * SECURITY: Sanitize email id for use as mutex key * DEV: Correct merge conflicts for 9cfe3f99 * SECURITY: Add confirmation screen when connecting associated accounts * SECURITY: Validate backup chunk identifier * Version bump to v2.3.2 * Fix the build. * SECURITY: XSS when displaying watched words in admin panel. * SECURITY: SQL injection with default categories * SECURITY: Upgrade lodash * SECURITY: XSS with title selector on preferences page * SECURITY: Strip HTML from invite emails * FIX: iterate when clearing watched words cache * Revert "FIX: remove misplaced save button" * FIX: remove misplaced save button * FIX: Remove misplaced outlet * FIX: creating new badge is failing on empty SQL query (#7837) * FIX: Don't send notification email when user isn't allowed to see topic * DEV: Respond with error 400 to uploads requested via XHR * DEV: lint file * FIX: closes search-menu on escape (#7804) * FIX: prevents failure when TL was mutated on internal object (#7808) * SECURITY: XSS in routes * SECURITY: Escape email text for posts containing [details]. * Version bump to v2.3.1 * Update translations * DEV: bump version on mini_scheduler * FIX: Do not refresh all settings on save for all settings, limit to only a few * FIX: use correct name for selectable_avatars_enabled site setting * FIX: remove temporary hack for fixed iOS bug (#7773) * FIX: category-chooser search should be scoped to category (#7794) * Version bump to v2.3.0 * Merge diffs from master * SECURITY: Add confirmation screen when logging in via email link * Version bump to v2.2.6 * SECURITY: Bump Handlebars to version 4.1.2 * Version bump to v2.2.5 * FIX: We need a newer mini_racer for ruby 2.6.3 * SECURITY: Fix tab nabbing. * SECURITY: Update nokogiri * SECURITY: jquery CVE-2019-11358 * FEATURE: enable NGINX brotli support unconditionally * SECURITY: Update Handlebars to 4.1 * Version bump to v2.2.4 * SECURITY: properly validate return URL for SSO * FIX: remove extra periods (#6998) * FEATURE: Add plugin html hook to insert html before any other scripts * FIX: lightbox wrapper within open details should show. * FIX: Add helper file for compatibility with latest stable plugin * Version bumped to v2.2.3 * SECURITY: Upgrading Rails version to 5.2.2.1 * Version bump to v2.2.2 * SECURITY: bypass long GET requests * REFACTOR: Proxy letter avatars in rails instead of nginx * UX: Reduce font size on about pages * FIX: unable to create new categories * DEV: Improve test. * FIX: Fix failing test. * SECURITY: Do not leak private group names. (#7008) * FIX: Bump onebox version to include imgur security fix * FIX: Bump onebox version to include imgur security fix * FIX: some posters were not getting added to topic_allowed_users when moving posts to a new PM * Version bump to v2.2.1 * UX: checkboxes were too close to other inputs * FIX: Fix delete button for Tag Groups. (#6965) * UX: Minor button icon color fixes * FIX: in:title should work irrespective of the order. (#6968) * UX: Use translatedLabel for aria-label in buttons. * fix typo * FIX: Rescue and display import errors when updating theme via git * DEV: update logster to stable release * FIX: S3 endpoint broke bucket creation in non-default region * UX: Turn off autocomplete on composer title * UX: disable browser's autocomplete in search menu * FIX: Correctly process {{each}} in raw handlebars templates for themes * FIX: Register pan events for touch only * FIX: Unpause Sidekiq before uploading backup to S3 * Minor icon color fix * FIX: old migration was loading up invalid model schema * UX: Header icon color fix * SECURITY: Escape HTML in dashboard report tables * FIX: Login button icons should be white * Header icon focus color fix * Version bump to v2.2.0 * Merge diffs from master * Version bump to v2.1.8 * SECURITY: fix possible XSS with badges (#6912) * Version bump to v2.1.7 * PERF: reduce workload when optimizing images * Version bump to v2.1.6 * SECURITY: Users can pick non-avatar uploads. * SECURITY: only allow picking of avatars created by self (#6417) * Version bump to v2.1.5 * FIX: Only serialize group membership domains for administrators (#6771) * SECURITY: do not delete avatars uploads when deleting accounts * FIX: remove slow platform detection from server side * FIX: Do not serialize user fields unless they are specified for display (#6736) * SECURITY: Require groups to be given when inviting to a restricted category. (#6715) * Version bump to v2.1.4 * SECURITY: enforce hostname to match discourse hostname * SECURITY: update rack from 2.0.5 to 2.0.6 * Version bump to v2.1.3 * SECURITY: Add CSRF protections to OpenID callback * UX: bumps the user-api-key version to 3 (#6526) * FEATURE: adds latest to user-api-key session scope * FEATURE: adds list#(unread|new) to user api key routes (#6494) * FEATURE: adds header text/background color to site (#6462) * SECURITY: update loofah for CVE-2018-16468 * Version bump to v2.1.2 * Fix `UploadRecovery` from S3 fails with bucket name containing sub-folder. * Fix onceoff job in https://github.com/discourse/discourse/commit/cfa7173da346ec9f31daac13b058ba82419771d9 not running. * FIX: Onceoff job to fix missing user profile backgrounds. * FIX: correct readonly timeout * FIX: in redis readonly raise an exception from DistributedMutex * FIX: required rbtrace upgrade * SECURITY: correct XSS on long topic titles * SECURITY: remove admin memory diagnostics routes * Backward compatibility for dropping functions in `ColumnDropper`. * Version bump to v2.1.1 * FIX: Onceoff job to recover missing post uploads. * DEV: Avoid using `send` and make the method public instead. * Accept custom AR relation for `UploadRecovery`. * FIX: Do not try to recover invalid `Upload#short_url` in `UploadRecovery`. * Fix the build. * Add basic test case for `UploadRecovery`. * Rescue errors when running dry run for `UploadRecovery`. * Fix s3 recovery from tombstone in `UploadRecovery`. * Add dry run option to `UploadRecovery`. * Fix incorrect variable. * New rake task `uploads:recover`. * DEV: Print the error class in `uploads:list_posts_with_broken_images`. * Add extra protection in `Upload#get_from_url`. * FIX: don't index urls to local files * FIX: ignore and log bad json values for custom fields * FIX: Uploads not being linked correctly to posts. * Version bump to v2.1.0 * SECURITY: correct edge case when SSO provides unvalidated emails * Version bump to v2.0.5 * SECURITY: Prevent users from modifying custom fields * DEV: Export Tag class to modify methods in plugin * Skip imagemagick tests on Travis. * Fix linting on Travis for stable. * Fix brittle spec. * FIX: Broken specs * Version bump to v2.0.4 * FIX: Compatibility with ImageMagick 7. * SECURITY: prevent use of X-Forwarded-Host to perform XSS * Version bump to v2.0.3 * FIX: Remove return statement from inside block * SECURITY: force IM decoder based on file extension - part 3 * SECURITY: force IM decoder based on file extension - part 2 * SECURITY: force IM decoder based on file extension * FIX: Remove `plugin.enabled?` checks at initialization time (#6166) * SECURITY: Consider `0.0.0.0` a private IP * FIX: update mini_racer in stable * FIX: returns provider_not_enabled error even if enabled * SECURITY: extra CORS headers should be set on correct host * SECURITY: Do not allow authentication with disabled plugin-supplied a… (#6071) * SECURITY: category badges should HTML escape names * SECURITY: prevents XSS when showing tooltip * Link updated * FIX: missing translations for mobile flag modal * Version bump to v2.0.2 * SECURITY: update sprockets for CVE-2018-3760 * Monkey patch in https://github.com/ruby/ruby/commit/7830a950efa6d312e7c662beabaa0f8d7b4e0a23 * Version bump to v2.0.1 * UX: reworks dashboard problems section to be in line with new style * FIX: do not show SSO external_email to moderators * FIX: Ensure we have proper timeout for MiniRacer. * FIX: adjust 2FA input width in mobile login form * FIX: adjust max-width of social login buttons for non-English locals * fix indent * FIX: broken mailto href's in emails * FIX: do not use number helper for charts Y value * FIX: incorrect backup and update times on dashboard * FIX: slightly safer rounding * FIX: makes format number round the value before using parseInt * FIX: user-fields layout in desktop create account form * FIX: removes buggy/unnecessary local-dates margin * FIX: user-fields layout in mobile create account form * FIX: avatar_url includes upload_path twice when local storage used * FIX: Permalink route matcher should always be last. * FIX: Disconnects all connections in the pool before forking. * FIX: unable to add new poll to post with a public poll * FIX: sharing popup not showing on macos/chrome * FIX: Protection against dangling category group records * FIX: Keyboard shortcuts didn't work on subfolders * FIX: alignment for instructions on change email and 2FA fields * FIX: Allow a user to remove their title * Update translations * Version bump to v2.0.0 * safety so pre blocks can't break modal width * envelope missing on invite page, long pre lines making modals wide * FIX: automatically fix image orientation * Version bump to v1.9.7 * clean up drag on iOS handling, we need it bound earlier * improve prev hack * FIX: dragging of timeline was flaky on iOS * Version bump to v1.9.6 * SECURITY: do not show private topic title on /unsubscribed page * SECURITY: prevent XSS when showing diffs * SECURITY: santize tags when creating new topic via URL * SECURITY: escape HTML entities from topic title * SECURITY: do not disclose topic titles on /unsubscribed page to unauthorized users * Version bump to v1.9.5 * FIX: Restorer wasn't rolling back if restore fails. * Fix incorrect function name. * Clean up unused function left in the database. * backup restorer: tidy pg_dump schema portability logic, add test * restorer: clarify logging * FIX: Restorer was not extracting the patch version in dump file. * Improve grep pattern in restorer. * Fix version check in restorer. * FIX: Restore process for dump taken with `pg_dump` 10.3+. * single quote password in restore command > Followup to #3283. Quotes passwords passed to shell for backup restore. * Update libv8 from 5.9 to 6.3 * Version bump to v1.9.4 * SECURITY: sanitize topic title when staff is viewing a user's past flagged posts and deleted topics * SECURITY: ensure users have permission when moving categories * Version bump to v1.9.3 * SECURITY: correct local onebox category checks * SECURITY: Prevent robots from indexing more routes * Version bump to v1.9.2 * SECURITY: email domain whitelist could be bypassed * Version bump to v1.9.1 * FIX: rescue login required / broken images * FIX: handle invalid password reset token * FIX: URI must be ascii only for URI.parse command * FIX: render error message when backup download fails * FIX: correct shushing_face name * FIX: do not create duplicate topics * Make rubocop happy. * Version bump to v1.9.0 * Version bump to v1.8.11 * SECURITY: Don't pass email backup token to sidekiq as a parameter. * Update `.travis.yml`. * Fix broken spec. * SECURITY: Any group can be invited into a PM. * SECURITY: prevent staged accounts from changing email * Version bump to v1.8.10 * SECURITY: signup without verified email using Google auth * Version bump to v1.8.9 * SECURITY: verify that inviter can invite new user to a topics * Version bump to v1.8.8 * SECURITY: Update Nokogiri. * Version bump to v1.8.7 * SECURITY: Only publish PM reply messagebus notifications to allowed users * Version bump to v1.8.6 * SECURITY: do not include links from whispers in topic summary map * FIX: Make .eslintrc file compatible with eslint 4 take 2 * FIX: Make .eslintrc file compatible with eslint 4 * FIX: Group name was being reverted to non-localized version. * Version bump to v1.8.5 * SECURITY: Do not show latest/top topics on 404 for login_required sites * Version bump to v1.8.4 * FIX: Exclude `www` in topic map links. * Revert "UX: Don't try to figure out root domain." * FIX: Allow discourse app to link directly to wizard * Version bump to v1.8.3 * FIX: invited user should not be able to redeem invite as admin * SECURITY: Remove disposable invite feature * Version bump to v1.8.2 * FIX: include canonical meta tag on category pages * FIX: Topic Entrance wasn't showing up on some suggested topics * FIX: image orientation wasn't properly working * Pin eslint to version 3.x on travis. * Switch to yarn for our travis build. * FIX: Send request membership PM to last 5 active group owner. * FIX: Create group membership request on behalf of user. * UX: Don't send emails for discobot notifications. * Avoid monkey patching which causes weird reloading error in dev. * FIX: Don't fail seed if avatar can't be downloaded * FIX: Always allow the host the forum is hosted on * FIX: Don't use `target=_blank` for local oneboxes * FIX: Onebox wasn't using correct uri * FIX: Support for cookies in onebox redirects * FIX: If HEAD is not supported, try GET. Also set cookies * padding below suggested topics on mobile * Version bump to v1.8.1 * FIX: Bot mentioned check should be case insensitive. * Move the constant as well. * FIX: Ensure that we cancel any timeout jobs when terminating a track. * FIX: Bot should only respond to regular posts. * FIX: PNG-to-JPEG conversion should only be done to images with at least 1 megapixels * FIX: automatic PNG-to-JPEG conversion should use a default white background * Revert "Skip validations when Discobot creates new posts." * FIX: Don't run in testing mode * fix narrative bot for subfolder in translation files * FIX: narrative bot on subfolder installs * SECURITY: Vunerability in mail gem * Revert "Load posts in batches while indexing problem posts." * Version bump to v1.8.0 * Version bump to v1.7.10 * SECURITY: Validate the `entity` when downloading a CSV * Version bump to v1.7.9 * Disable failing JS tests first. * FIX: Regression when clicking on post date * FIX: Show share popup only for valid buttons. * SECURITY: XSS issue in share popup if invalid link is passed in. * Version bump to v1.7.8 * SECURITY: prefer render plain/html to render text where possible * SECURITY: do not send push notifications to suspended users * Version bump to v1.7.7 * FIX: Update omniauth facebook to fix facebook logins * Version bump to v1.7.6 * SECURITY: CSRF vulnerabilities in `Admin::BackupsController`. * Version bump to v1.7.5 * SECURITY: Disallow symlinks when restoring uploads. * SECURITY: Don't use backticks for exporting your archive * SECURITY: always allow staff to resend activation mails * FIX: Store user's id instead for sending activation email. * SECURITY: Only allow users to resend activation email with a valid session. * FIX: Don't mark user as `active` if verified email is different. * Version bump to v1.7.4 * Revert "SECURITY: Ensure oAuth authenticated email is the same as created user's email." * FIX: Mobile topic timeline broken on Chrome 56. * SECURITY: Ensure oAuth authenticated email is the same as created user's email. * Revert "SECURITY: Ensure that user has been authenticated." * SECURITY: Ensure that user has been authenticated. * SECURITY: inactive/suspended accounts should be banned from api * Version bump to v1.7.3 * new: server plugin outlet for indexable robots.txt * SECURITY: correctly validate input when admin searches for screened ips * UX: less restrictive selector to allow for plugin outlets * Version bump to v1.7.2 * SECURITY: Prevent large onebox downloads, better timeout support * Fix broken emojis. * FIX: log backups download/destroy staff action * FIX: don't onebox to IP addresses * Version bump to v1.7.0 * SECURITY: Moderators should not be able to access customizations * Version bump to 1.6.10. * SECURITY: Users can only bookmark posts which they can see. * SECURITY: prevent reuse of password reset * SECURITY: update onebox gem * SECURITY: protect upload params, only allow very strict filenames * Version bump to v1.6.9 * SECURITY: Update to latest onebox gem * Version bump to v1.6.8 * Backport `get-owner` API so plugins can use it safely * Version bump to v1.6.7 * fix oops * FIX: properly reset all contexts after forking * Version bump to v1.6.6 * FIX: mini_racer will no longer Dispose forked isolates * update mini_racer to latest version * Version bump to v1.6.5 * FIX: User enabled readonly mode was not working. * FIX: Randomly failing specs try 2. * Version bump to v1.6.4 * FIX: Make sure constant reflects the right backup extenstion. * Version bump to v1.6.3 * Escape the hyphen * FIX: Backup validation wasn't escaping hyphens * Version bump to v1.6.2 * SECURITY: Add filename validation for backup uploads. * SECUIRTY: Escape input made to system calls. * Version bump to v1.6.1 * Update Translations * FIX: Travis failure * SECURITY: Escape HTML in filename. * SECURITY: Escape image title in lightbox. * FIX: wasn't able to update category's settings * SECURITY: do cookie auth rate limiting earlier * Revert "UX: Centering Badge notification styles on mobile." * Version bump to v1.6.0 * SECURITY: XSS issue on Admin users list * SECURITY: Avoid mass assignment on user create * FIX: Broken test * FIX: Regression with escaping on badge page * SECURITY: Make sure uploaded_urls have corresponding upload records * SECURITY: Cross-Site Scripting in Category and Group Settings * SECURITY: SQL Injection in Admin List Active Users * SECURITY: XSS in "Account Suspended" Messages and Badge Descriptions * SECURITY: limit route access when using external avatars * Version bump to v1.5.4 * SECURITY: Possible SQL injection. * Version bump to v1.5.3 * SECURITY: update logster * SECURITY: restrict constantize classes in search controller * SECURITY: Unapproved, active users should not receive emails * Version bump to v1.5.2 * SECURITY: update rack-mini-profiler * SECURITY: 2 XSSs in post gutter and local oneboxes * Version bump to v1.5.1 * Update Translations * Version bump to v1.5.0 * FIX: Bad auto merge * merge master * Version bump to v1.4.7 * SECURITY: Backport XSS fix * FIX: unescape emojis in digests * Version bump to v1.4.6 * Backported PluginAPI for compatibility with plugins * fix eslint * we still need md5 * SECURITY: hoist blocks using guids, not md5 hashes * Version bump to v1.4.5 * SECURITY: topic titles can show up in user page unescaped when streamed in * SECURITY: fix XSS in lazyYT plugin * Version bump to v1.4.4 * FIX: Precompiler should apply `get` magic too * SECURITY: Upgrade Ember to fix CVE-2015-7565. Also upgrade Handlebars * Revert "SECURITY: Upgrade Ember to fix CVE-2015-7565" * SECURITY: Upgrade Ember to fix CVE-2015-7565 * Version bump to v1.4.3 * SECURITY: Backported XSS fixes from Handlebars * SECURITY: XSS Protection on Queued Posts * Version bump to v1.4.2 * SECURITY: Unread post notifications should respect whispers * FIX: Broken spec * SECURITY: Moderators should not see API keys * SECURITY: XSS in search results term * Version bump to v1.4.1 * FIX: don't use Safari hack on Windows Phone * FIX: `max_topics_per_day` was not working * FIX: Allow mods/admins to search whispers * FIX: Replies to whispers *must* be whispers * FIX: replaceMarkdown should be smart about current caret position * FIX: disable cloaked view while running ios positioning hack * FIX: whispers should not be revealed in reply to, or reply expansion FEATURE: mark whisper as experimental FIX: badges should never apply to whispers * tweaks to readme * update readme images for 1.4 * minor install guide tweaks * minor install guide tweaks * FIX: when replying to a expanded reply, correctly attribute author * FIX: 1.4 welcome PM images needed update * FIX: Category Logo preview should not repeat * FIX: only disable the composer grip when the device is touch-only * FIX: pikaday wasn't working when using the mouse with a touch-enabled monitor * emphasize reading the admin quick start guide * simplify install guide a tiny bit * update install guide for Discourse 1.4 * Revert "UX: always show logout link in user menu, use CSS to hide" * UX: always show logout link in user menu, use CSS to hide * Revert "FIX: properly filter badges when they're on a whisper" * FIX: properly filter badges when they're on a whisper * FIX: notifications & messages were missing from user profile * FIX: Double load sometimes on topic lists * Version bump to v1.4.0 * Version bump to v1.3.5 * SECURITY: fix possible XSS expanding quotes * Version bump to v1.3.4 * SECURITY: Make sure export CSV is generated via a POST * Version bump to v1.3.3 * SECURITY: Remove email validation check bypass * Version bump to v1.3.2 * PERF: Debounce mention lookup, enforce minimum username * FIX: fix category badge and link in email digest * SECURITY: Query @usernames in bulk * PERF: production assets not minified * FEATURE: improve no-js topic list information * Attempt micro data using old vocubulary * FIX: when sending private message emails do not check email_direct setting * FIX: Bad page title for categories view by google crawler * FIX: send 404 error when unauthorized user tries to download user archive * FIX: missing emoji autocomplete * new 'uploads:migrate_to_new_pattern' task * Simple "cook" for email imports from mailing lists * FEATURE: Use created_at to remove an ip if its last_match_at is null * correct specs * FEATURE: we need admin login always * FIX: staff should be immune to max_invites_per_day setting * FEATURE: plugins can register a custom admin quick start topic that will be seeded into new sites * we don't care about convert output/errors * update memory profiler, oj and lru redux * lighter quote controls * fix minor alignment issues with expanded posts * SECURITY: expire all existing email tokens on password reset * SECURITY: expire all existing sessions if user changes passwords * Never enqueue posts from staff * Version bump to v1.3.1 (skip 1.3.0) * Version bump to v1.3.0 * Revert "Version bump to v1.3.0" * Version bump to v1.3.0 * Version bump to v1.2.4 * Revert "S3 deprecation warning" * Revert "add global notice for S3 deprecation warning" * Version bump to v1.2.3 * SECURITY: log off all existing sessions when resetting password * Version bump to v1.2.2 * add global notice for S3 deprecation warning * add classes to global-notices so they can be found with selectors * S3 deprecation warning * Version bump to v1.2.1 * FIX: 6to5 was renamed to Babel * Revert "FIX: when allow uncategorized was off we were still showing uncat for admins/mods" * FIX: when allow uncategorized was off we were still showing uncat for admins/mods * URGENT: commit snuck in twice when merging master * Version bump to v1.2.0 * Merge pull request #3192 from riking/patch-xss * FIX: full user names were showing up in crawlers and rss feeds in spite enables_names setting being disabled * SECURITY: The SSO `return_path` was an open redirect * SECURITY: Don't whitelist codepen as it is a potential vector for abuse * Version bump to v1.1.3 * SECURITY: prevent direct download of backups * Version bump to v1.1.2 * FIX: PM title not editable * FEATURE: don't limit registration from an IP address if a staff member has that IP address * fix pop up composer tips display for mobile * Version bump to v1.1.0 * Version bump to v1.0.4 * SECURITY: Don't allow redirects with periods in case you don't control other tlds on the same domain. * FIX: prevent iframe in expended quote * Version bump to v1.0.3 * SECURITY: RegExp engine loopwith improperly formatted URLs. * SECURITY: rate limit user/password login * Version bump to v1.0.2 * SECURITY: rate limit change email requests * SECURITY: Stripping links could unescape html fragments * FIX: Resend activation email was busted * SECURITY: Escape strings in logs * SECURITY: Malformed URL could crash V8 * SECURITY: Limit passwords to 200 characters * Version bump to v1.0.1 * SECURITY: GitHub authenticator returning unverified emails * SECURITY: User action route was returning too much data * SECURITY: Only redirect to our host by path on the login action ------------------------------------------------------------------- Sun Apr 17 17:17:09 UTC 2022 - Daniel Molkentin <daniel@molkentin.de> - switch to discourse.target instead of multi-user.target in the unit file ------------------------------------------------------------------- Fri Apr 26 18:31:36 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - use the shared apparmor package ------------------------------------------------------------------- Sun Feb 24 20:43:47 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - update apparmor profile for 15.1 - seems we need to handle also inherited file descriptors now ------------------------------------------------------------------- Wed Feb 13 02:42:43 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - moment library nolonger needs chmod ------------------------------------------------------------------- Thu Feb 7 20:42:57 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - alwayays use the bin/* stubs for running tools - use newer rails macros to fix the shebang lines ------------------------------------------------------------------- Wed Feb 6 22:41:17 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - added build conditional to build with ruby 2.6 (discourse_ruby26) - fix apparmor profile for ruby 2.6 (the bundle there has no gem version suffix) ------------------------------------------------------------------- Mon Feb 4 22:08:42 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - fix BR to match new gemfile ------------------------------------------------------------------- Thu Jan 31 00:03:01 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - fix rpmlint issues and sync with gitlab changes: - assign better rpm group - skip version-control-internal-file rules - remove zerolength rule and reported it upstream - patch shebang lines to not use env anymore - create all missing directories in %build instead of %install - add rc* symlinks for services - have all systemd services and target files used in the systemd macros ------------------------------------------------------------------- Sat Jan 19 01:57:57 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - bump to ruby 2.5 on 42.3/sle12 ------------------------------------------------------------------- Fri Dec 14 18:39:17 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - fix filelist to not complain about mentioned multiple times anymore ------------------------------------------------------------------- Mon Nov 26 17:39:10 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - fix permissions of the plugins ------------------------------------------------------------------- Tue Oct 23 23:58:04 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - refresh nginx config patch ------------------------------------------------------------------- Wed Oct 10 13:34:47 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - update apparmor profile ------------------------------------------------------------------- Tue Oct 9 15:48:00 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - run maxminddb:get task if the file is missing ------------------------------------------------------------------- Sat Sep 22 21:45:36 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - added apparmor profile for discourse. To enable them do: systemctl edit discourse-puma.service [Service] AppArmorProfile=/discourse/appserver systemctl edit discourse-sidekiq.service [Service] AppArmorProfile=/discourse/sidekiq ------------------------------------------------------------------- Fri Sep 21 17:07:47 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - added es6.patch: as we ran into the issue multiple times now lets just following the error message ------------------------------------------------------------------- Fri Sep 14 14:25:45 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - drop discourse-skip-tiff.patch: included upstream ------------------------------------------------------------------- Sun Sep 9 15:16:21 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - added discourse-skip-tiff.patch: make sure CR2 files are not treated as "images" by discourse. ------------------------------------------------------------------- Mon Aug 27 15:57:36 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - make sidekiq use the config/sidekiq.yml instead of hardcoding queues on the cmdline ------------------------------------------------------------------- Tue Jul 17 14:18:21 UTC 2018 - mrueckert@suse.de - drop discourse.fix-resize.patch ------------------------------------------------------------------- Thu Jun 28 09:59:24 UTC 2018 - mrueckert@suse.de - downgrade higline again https://github.com/discourse/discourse/commit/ebd2be9e021 ------------------------------------------------------------------- Fri Jun 22 15:29:19 UTC 2018 - mrueckert@suse.de - make the nodejs requires a bit tighter ------------------------------------------------------------------- Thu Jun 21 15:00:13 UTC 2018 - mrueckert@suse.de - use nodejs10 ------------------------------------------------------------------- Thu Jun 21 12:08:40 UTC 2018 - mrueckert@suse.de - sync BR with Gemfile ------------------------------------------------------------------- Sun Jun 10 13:02:25 UTC 2018 - mrueckert@suse.de - split rake calls until we figured out the bug ------------------------------------------------------------------- Sat Jun 9 22:53:23 UTC 2018 - mrueckert@suse.de - bump to rails 5.2 ------------------------------------------------------------------- Sun May 20 14:49:14 UTC 2018 - mrueckert@suse.de - remove the RAILS_ENV environment variable from the service files ------------------------------------------------------------------- Sun May 20 14:44:58 UTC 2018 - mrueckert@suse.de - enforce en_US.UTF-8 locale ------------------------------------------------------------------- Sat May 19 01:48:50 UTC 2018 - mrueckert@suse.de - update to 2.0.0.beta10 ------------------------------------------------------------------- Sat May 5 02:36:22 UTC 2018 - mrueckert@suse.de - update to 2.0.0.beta9 ------------------------------------------------------------------- Thu Apr 12 13:25:21 UTC 2018 - mrueckert@suse.de - merged nginx config patch, it is recommended to sync your local config with the new upstream config ------------------------------------------------------------------- Thu Apr 5 13:30:37 UTC 2018 - mrueckert@suse.de - no more Vagrant file: fix filelist ------------------------------------------------------------------- Tue Mar 27 03:25:56 UTC 2018 - mrueckert@suse.de - merged nginx config patch, it is recommended to sync your local config with the new upstream config ------------------------------------------------------------------- Fri Mar 9 10:38:03 UTC 2018 - mrueckert@suse.de - sshkey requires ------------------------------------------------------------------- Thu Mar 8 19:15:50 UTC 2018 - mrueckert@suse.de - move to ruby 2.5 for newer distros ------------------------------------------------------------------- Wed Feb 21 12:53:06 UTC 2018 - mrueckert@suse.de - enable 2FA - move update trigger to the %post scriptlet ------------------------------------------------------------------- Thu Jan 4 12:54:00 UTC 2018 - mrueckert@suse.de - back to fastimage ------------------------------------------------------------------- Sat Dec 23 18:42:22 UTC 2017 - mrueckert@suse.de - make the discobot public directory readable for nginx. ------------------------------------------------------------------- Mon Dec 11 13:57:24 UTC 2017 - mrueckert@suse.de - add TimeoutStartSec=0 to the -update.service file ------------------------------------------------------------------- Mon Dec 11 12:16:34 UTC 2017 - mrueckert@suse.de - update nginx patch ------------------------------------------------------------------- Fri Dec 8 13:21:39 UTC 2017 - mrueckert@suse.de - more permission fixes for the backup dir ------------------------------------------------------------------- Fri Dec 8 11:00:50 UTC 2017 - mrueckert@suse.de - package backup dir ------------------------------------------------------------------- Wed Dec 6 14:36:50 UTC 2017 - mrueckert@suse.de - disable feedjira based code ------------------------------------------------------------------- Thu Nov 30 03:30:51 UTC 2017 - mrueckert@suse.de - port to new rails packaging scheme ------------------------------------------------------------------- Wed Nov 22 21:27:59 UTC 2017 - mrueckert@suse.de - fix the discourse-update service to actually do something reliably: - create rebuild.txt in %pre. this makes it work reliable and we keep a clean rpm -V output. marking it as %config(missingok) doesn't recreate the file on update, if it was deleted - cleanup bootsnap cache in %install ------------------------------------------------------------------- Fri Nov 17 01:05:27 UTC 2017 - mrueckert@suse.de - move the tmp/rebuild.txt check into the script itself and not the unit file ------------------------------------------------------------------- Thu Nov 16 18:07:37 UTC 2017 - mrueckert@suse.de - finally! no more manually running discourse-update: this will now be handled by the discourse-update.service The service will only run if the following file exists: /srv/www/vhosts/discourse/tmp/rebuild.txt If the file does not exist, the restart will be just as quick as before. This whole automation comes at a price though: During the run of discourse-update service, all other discourse services are down. You can still run the script manually if needed. ------------------------------------------------------------------- Thu Nov 16 16:59:53 UTC 2017 - mrueckert@suse.de - make update script fail if any of the subcommands fails ------------------------------------------------------------------- Wed Nov 15 11:24:54 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta14~git221.2e7c61681e: * PERF: n+1 query when fetching search_logs * fix the build * NEW: large image placeholder added in cooked html (#5291) * Remove email column from schema information * FIX: notification dropdown was not visible for group archive * UX: sort search logs results by unique searches * More control over Unicorn logstash logger. * EXPERIMENTAL: Allow logs to be shipped via different methods. * FIX: Disable `rails_multisite` formatter if lograge is enabled. * FIX: current user serializer consistently returns {} for custom_fields ------------------------------------------------------------------- Fri Oct 20 09:43:47 UTC 2017 - mrueckert@suse.de - temp fix for https://meta.discourse.org/t/not-really-sure-you-wanted-to-check-in-this-symlink/72456 ------------------------------------------------------------------- Tue Oct 03 22:48:25 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta11~git71.9ff1c23a38: * FIX: don't create staged users when incoming email is rejected FIX: don't send subscription mail to new users * FIX: respect email domain whitelist/blacklist when creating staged users * FIX: Header primary color was too dark in dark mode * FIX: `d-header` in common is `z-index: 1001` * An option to not display categories in the hamburger * UX: Allow customization on header dropdown sizes * FEATURE: forgot_password_strict setting also prevents reporting that an email address is taken during signup * rename forgot_password_strict to hide_email_address_taken * UX: Perform icon replacements before calling icon renderer * fix typo ------------------------------------------------------------------- Fri Sep 29 20:40:36 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta11~git19.d5d66e969e: * FIX: update group.has_messages field weekly * FIX: update message bus * FIX: wasn't able to save watched/tracked/muted categories/tags * Support for HTML values in widget hbs templates * FIX: Okay, try going back to the old way. Too many exceptions. * FIX: Compatibility between Client and Server routing. * Revert "A safe way to create class variables in a multisite environment." * FIX: Remove unused mixin * FIX: use different method name for topic rake task * FIX: js error when logging in using another Discourse site as sso provider ------------------------------------------------------------------- Fri Sep 15 00:44:54 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta9~git17.a11a948e24: * Activate mini-profiler when in profiling env. * Revert "Activate mini-profiler when in profiling env." * bbcode find close tag loop end condition * Do not load javascripts for disabled plugins (#5103) * Add disabled_plugins to preloadstore for login_required anonymous users (#5134) * FEATURE: uses select-box for topic-notifications-button component * Clean up weird indentation * Refactor header CSS for composability * FIX: stricter check on presence of notification_level_change * FEATURE: new badges when visiting the forum for 10, 100 and 365 consecutive days * FIX: Stop moving notifications on large screens * minor copyedits on visit days badges * Fix incorrect topic id in profiiing script. * FIX: consecutive_visits query wasn't return only the first result per user * description wasn't checked in. ???? * PERF: Reduce number of Redis hits per requests. * Add discourse-presence as a core plugin (#5137) * FIX: supports emojis in pinned topic excerpt * PERF: Use `pluck` instead of enmurating through all the records. * Fix the build. * Oops fix build again. * Revert plugin js changes (#5139) * PERF: Remove `Object#present?` check introduced in https://github.com/discourse/discourse/commit/e0d5d9670ab2d0fb923fef54e3bdcbbcfc524fb1. * add admin-user-details plugin outlet (#5141) * FIX: component height computation was wrong * minor css fixes on select-box * removes select-box minWidth property * FIX: keys were incorrectly set to category * FIX: default select-box-row should be aligned vertically * Add `span` to various labels so they can be targetted * Allow for customization of header dropdown icons * UX: Convert bookmark icon from CSS to a proper icon using our helper * FIX: consecutive_visits query wasn't properly setting 'granted_at' (3rd time's a charm) * FIX: broken spec * FIX: topic-notifications taking too much space in timeline * FIX: topic-notifications was taking too much space on mobile * FIX: redirect loop for new users visiting /new-topic using full screen login * UX: Flags lost their red color on dropdown * Simplify copy & add transifex config * PERF: Avoid calling expensive `PostGuardian#can_see_post?` multiple times. * Remove irrelevant comment. * Avoid allocating an extra array. * Make eslint happy. * add image type attribute to icon link tag * FIX: makes sure we only autocomplete valid emoji tones * Reduce number of Redis calls. * Use a connector class to determine wheteher to render presence * FIX: Presence was broken with a null array * Disable presence for now * FIX: Only enable the controller when the plugin is enabled * Add warning when plugins changed by `tmp` was not removed * UX: Move `.visited` to entire row, not just the link to a topic * Replaces all notification-options like dropdowns with select-box * FIX: css regression on category-dropdown-button * SECURITY: Only publish PM reply messagebus notifications to allowed users * Discourse-presence improvements * minor fixes to select-box * use d-icon names * lighter icon color for categories-admin-actions * makes notification-options design more compliant with existing design * FIX: adds correct spacing between footer buttons * FIX: select-box width was incorrect on mobile * FIX: Categories admin menu was missing * FIX: keeps as much as possible the same api for select-box components * fix broken build * FIX: positioning issues with notifications-button * FIX: display localised title when using notifications-button * FEATURE: improves keyboard handling of select-box * FIX: Duplicate class name * FIX: Bookmark icon was not coloured on mobile * FIX: queued posts had a red background * adds more specificity to .dropdown-select-box * fix broken spec * FIX: cross browser issues on safari and edge * minor select-box fixes * adds missing spacing around links in reason text * FIX: makes sure the select-box doesn’t go over header * FIX: Missing color on queued posts dropdown * UX: '.visited' wasn't applied in categories view and suggested topics * make eslint happy * uses select-box for pinned-button * FIX: display email validation error messages * FIX: memoization in PostAnalyzer.raw_mentions (#5172) * FIX: pinned-button sometimes not shown when unpinned is null * FIX: icon showing as null * FIX: output css for category backgrounds only if uploads have a url * fix linter error * Revert "FIX: pinned-button sometimes not shown when unpinned is null" * cleaner title attribute for select-box * new rake task to bake uncooked posts * PERF: Bypass AR and execute SQL directly. * FIX: Move check to right serializer. * Revert "FIX: Move check to right serializer." * FIX: Use a distrbuted cache for site locale. * UX: show date of last edit on wiki topics * SECURITY: Prevent users from updating to blacklisted email domains * Adjust nesting of search divs * FIX: Don't append `.no-results` if there's nothing to display * FIX: don't activate un-confirmed email on omniauth authentication (#5176) * FIX: Users should be able to activate their emails even if unapproved * FIX: no notification was being sent when a post is hidden by community flags * FIX: Handle incoming emails without email address in From header (#5177) * FIX: send the queued posts reminder as a message to moderators instead of an email to the contact_email * remove unused file pending_flags_mailer.rb * FIX: Don't write `wget` response to file. * Fix bugs in profiling scripts leading to incorrect results. * FIX: prevents click on select-box to close timeline-container on mobile * FIX: Add missing option to apache bench. * FIX: reason paragraph styling broken on mobile * UX: Placeholder images color changed & tootip added * FIX: better alignments of categories/tags in .topic-category * PERF: Avoid `NOT IN (<subquery>>` which can get really slow. * FIX: Small fixes to enable better testing of components * FIX: only show participants the user can see * FIX: don't include last_wiki_edit when there's no revision * API so that you don't have to use a global variable for pretender * add 'staged' column to user export * fix the build * FIX: makes state of select-box more resilient to model changes * FIX: link to sub-categories in group activity feed wasn't working * minor copyedits * PERF: Avoid unnecessary expensive joins if possible. * PERF: Remove N+1 query when generating posters summary. * FIX: do not create new email token if there already exists a confirmed one * Remove comment that is no longer relevant. * Update translations * Version bump to v1.9.0.beta9 * INSTALL-cloud: you can re-run discourse-setup * FIX: Use default locale for moderator post when posts are moved * FIX: Use default locale for edit reason when owner of post gets changed * Use icon helpers for notification dropdown * Remove some of the last few `fa-icon` helpers * update email_reply_trimmer to latest * It's bad practice to have `body` be the parent of everything * Add some container DIVs for easier styling * FEATURE: automatically handle flags and posts that have been waiting in a queue for a long time. Flags will be deferred. Posts waiting for approval will be rejected. Control how old the records need to be with the auto_handle_queued_age site setting. * adds a dsl to simplify testing of the select-box * FIX: makes sure select-box is under header and over avatar on mobile * FIX: don't mute topics when dismissing unread * FIX: don't leak whisper count in user card * FIX: Broken notifications in non-english locales * attempts to fix broken spec only on CI * UX: reduce height of textarea for flags of type "Something Else" on small mobile devices ------------------------------------------------------------------- Sun Sep 10 12:13:19 UTC 2017 - mrueckert@suse.de - added discourse.fix-resize.patch: temporary fix for resize issue discussed here: https://meta.discourse.org/t/letter-avatars-still-displayed-after-importing-phpbb3-avatars/69553/14 ------------------------------------------------------------------- Tue Sep 5 10:18:15 UTC 2017 - mrueckert@suse.de - add RAILS_ENV to service file so we dont have to patch out too much from puma.rb - added discourse.fix-puma-config.patch: make the config work out of the box: - set proper app_root - turn off daemonize for systemd ------------------------------------------------------------------- Mon Aug 28 17:02:12 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta7~git128.ce2250d7aa: * Spec for local auth check * Revert "fixes overflowing div width on user activity page" * Unnest top level selectors from body * Show the select badge button only once. (#5064) * Preparation for using chrome for qunit in docker images (#5062) * correct erratically failing spec * UX: move close button to bottom and add esc hint. * Add documentation for new ENV variables * Allow SINGLE_PLUGIN environment variable to be used * Use `if`, not `unless` * last attempt at fixing user page layout * Add documentation to docker_test.rb * Add two common eslint rules. * Make eslint happy. * Use `find` instead. * Ensure we reset state for `Messagebus.track_publish`. * FIX: avoids user-selector having no width * FIX: ip lookup not working * correct spec * FEATURE: bbpress importer can import private messages * Convert suggested topics to a component * FIX: Skip trigger match should be case insensitive. * FIX: Move before post count outlet inside the link * FIX: Broken suspect user lists. * FIX: Don't set topic timer for close topics when changing category. * FIX: Topic timers being incorrectly `trashed!`. * Fix the build. * FIX: do not create topic link reflection for unlisted topics * FIX: transfer posts by duplicated staged users to original * Combine docker:lint and docker:test into one command * FEATURE: server side support for upload:// markdown * remove stray puts from spec * FIX: broken badge show page * FEATURE: allows to disable automaticPositioning of emoji-picker (#5074) * Correct a flaky spec * UX: Move buttons into the nav section of the topic map * Remove unused small action component * Add classes to small action buttons * FEATURE: image uploads now have short urls * correct flaky spec * FIX: wrongs counts on tags with deleted topics * fix misuse of TLD * FEATURE: unlisted *only* means not listed in topic lists * FEATURE: import Github profile picture * GH#retrieve_avatar: simplify conditional and restructured testing * FEATURE: improves select-box to support category selection on new topic * update pr based on review * Revert "FEATURE: improves select-box to support category selection on new topic" * add more diagnostics for flaky spec * Correct short url decoding for sha1s leading with zero * Add wrapper div to aid in styling * Cleanup & debug .nav-stacked styles * change count>0 to exists * FIX: `store:main` error when running QUnit tests checking disabled plugins * `Sidekiq::Testing.fake!` is the default mode. * Fix calling `exists?` on Arrays. * Make Redis test less brittle. * Move new controller specs to reqeusts folder. * improved email bad destination error copy * Fix Rubocop error. * Revert "Revert "FEATURE: improves select-box to support category selection on new topic"" * FIX: bump default max for int site settings to a much higher number * correct spec * FIX: duplicated categories in select-box * FIX: modify select-box orientation when composer resizes * Convert user card buttons to `{{d-button}}` components * FIX: better headerText handling on select-box * uses select-box for theme selection on user profile * Removed icons + no-glyph classes from /user sub-navs, normalized indentation * FIX: avoids select-box being over composer popup * Add no-content message for user/activity/replies, fix no-content display * Removed no-longer-used styles from group.scss * correct erratic spec * lint * PERF: add an index on slug to make sure that slug lookups are quick * FIX: Category badge style of none was causing errors when rendering * make composer edu panel close button more visible * Fix + remove unnecessary indentation, dead code, cleanup user.css * FIX: more consistent filter from keyboard on select-box * add quotes to toolbar details insertion * new rake task to remap old phpbb links * FEATURE: rake db:stats * fix 'details' button acceptance test * Extracted/DRYed user-stream-item component CSS from user.css into own files - Renamed 'stream-item' component to 'user-stream-item' - Replaced generic 'item' class with clearer 'user-stream-item' class - Retained 'item' class for backward compatibility, marked as 'DEPRECATED' - Extracted CSS pertaining 'user-stream-item' component to component CSS files - Removed unnecessary duplication from 'user-stream-item' CSS - Removed unnecessary nesting from 'user-stream-item' CSS * FEATURE: show tags in search results * add a debugging task for running all schedules * FEATURE: add Thai language * Add option to move the poster name in with the avatar * Add option to collapse buttons in post menu * UX: Add missing `btn` class to `flat-button` * FIX: some button classes * select-box minor fixes * Namespaced Sass color brightness function to avoid conflict w/CSS filter * FEATURE: set purge_unactivated_users_grace_period_days to 0 to disable purging unactivated users * REVERT: btn class looked ugly, let's revert for now * FIX: castInteger on initial value * FIX: Un-revert the btn class added to the topic post menu * FIX: select-box fragile specs * FEATURE: display subcategories when filtering on parent name * FIX: html not showing in select-box header * Revert "FIX: Un-revert the btn class added to the topic post menu" * Add option for button type under posts * FIX: Don't re-render if you find composer messages after destroying * FIX: do not show full name field when accepting invite if full names are disabled * FIX: select-box improvments * rescue error when remapping permalinks * Support for sending PMs to email addresses (#4988) * Simplify user-nav styles to facilitate theming * Extend config/version.rb with more informations (#5061) * lint * Add avatar-flair plugin outlet for user card (#5104) ------------------------------------------------------------------- Wed Aug 23 17:36:04 UTC 2017 - mrueckert@suse.de - switch to tests-passed branch ------------------------------------------------------------------- Fri Aug 18 14:08:21 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta7~git10.954d753d5d: * FIX: Footer message was missing the class * FIX: queues posts broken for multiple posts * Correct erratic spec failure * Version bump to v1.9.0.beta7 * FIX: exception in excerpt parser for null nodes * Set user title from the badge view (#5049) * Removed defunct SparkPost free plan (#5058) * Extract linter in `docker:test` Rake task into `docker:lint`. * Fix conditions. * fixes overflowing div width on user activity page * Run lint in a parallel job on Travis. * FIX: Sidekiq wouldn't start up in development mode ------------------------------------------------------------------- Thu Aug 17 17:35:10 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta6~git17.9246bc3400: * FEATURE: use `a` when search result is focused to add to composer * FEATURE: allow ctrl+shift+s to open search * support up button from first result ------------------------------------------------------------------- Thu Aug 17 17:13:38 UTC 2017 - mrueckert@suse.de - add version-info.patch ------------------------------------------------------------------- Thu Aug 17 16:01:46 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta6~git14.d29fc781fb: * FIX: add additional email to tests and clean up resulting mess * UX: add a divider line between regular user fields and custom user fields * FIX: wizard should only include human admins and system user as the site contact username options * Fix up some markup to making styling latest categories easier * Revert "Fix up some markup to making styling latest categories easier" * FIX: more cases of case sensitive group membership in sso * Add 'primary_group_name' to CurrentUserSerializer * Add current user's primary group name class to the composer body * Add 'beforeCreate' hook in rest model * Add 'Post.permitted_create_params' to allow plugins to add new params when creating a post * Add new 'post_moved' event * Shorten some very long lines * Add a bunch of reload-friendly class variables accessors plugin APIs * FIX: ensure we always reload TopicView and TopicList in dev * use new reload-friendly API * FIX: Scroll position is tracked on search page * FEATURE: initial implementation of an ember native select * theme color select-box should be filterable * SECURITY: Do not show latest/top topics on 404 for login_required sites * Convert latest-topic-list to components and remove nested tables * Split out `latest-topic-list-contents` component * FIX: Reloading issues with classes * Autoload lib folder to pick up more changes in development mode * Revert "Autoload lib folder to pick up more changes in development mode" * More consistent container class names for styling * Refactor footer message to use a component * Remove hidden settings' translation (#5043) * UX: fix category badge style on 404 page * UX: keep emojis in excerpts in flag queue * FIX: digest emails should not include posts that are still in the edit grace period * UX: setup wizard won't offer pre-existing users with reserved usernames * FIX: multichoice poll with more than 25 votes * Some more HTML to Markdown fixes (#5046) * FIX: not splitting words correctly for search tokenizer * FIX: staff count on invites step of wizard should only include real users * UX: make 404 page look better on dark theme * better bbcode parsing for phpbb bulk import script * FIX: display emojis (set, custom and native) in bio excerpt * FIX: fails loud if default setting is not set * FEATURE: add custom open graph tag for ignoring canonical url * FEATURE: add Latvian language * Fix: unlinked topic search model (#5044) * FEATURE: add full editing access to queued posts (#5047) * Minor CSS changes * FEATURE: if full search returns no results, show google search form * minor 404 page copyedits * refactors select-box * Add specific class to site description on /about * Fix `select-box` Qunit tests to use the proper Ember test helpers. * FIX: Avoid publishing a gigantic payload. * Include the site setting file path for which a default value is missing. * Fix typo. * FIX: rebuild index when engine replaced (#5021) * Add option to run qunit tests in headless chrome (#5054) * Perf: update message_bus to latest * PERF: reindex search data without loading large post counts * annotate models * Silence CSS logging in development - it's way too noisy * Reload lib in development mode only * Update translations * Better formatting for CSS errors * Version bump to v1.9.0.beta6 * Allow ENV variable to force polling * FEATURE: up/down arrow will highlight search result * update message bus to ruby 2.0 packaged version * FIX: reloading issues with classes * FIX: when registering custom_field types, ensure we're casting them before checking for equality * missed a spot on email invite h4 to bold conversion * fixes word wrap issue on user activity page (#5056) * Add Plugin API to register a category custom field. * bump onebox version * FIX: Can't reset AR schema cache due to versions table. * Allow optional import_mode param for posts in api (#4952) * fix formatting * add event for other backup choices * trigger for other backup choices ------------------------------------------------------------------- Fri Aug 11 11:03:25 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta5~git118.117417848e: * New 'topic:current-post-changed' application event * Don't include all html builders on client and server side * Remove Rails 5 deprecation warning. * Add support for disabled attribute to the d-checkbox component * Add new 'group-edit' plugin outlet * UX: Support for `none` style of category badge * Fix the build. * Introduce multisite tests for better coverage. * Rubocop should ignore schema.rb. * FIX: allows onebox to force GET hosts returning wrong headers on HEAD * Add debugger Rubocop lint. * add support for classNames binding in Navigation Item * Add support for preloaded custom_fields on Group * FIX: handle topics without excerpt for meta description tag * FIX: Title prettify shoundn't downcase all non-ascii titles * Add warning when using the 'modifyClass' plugin API after it's been cached in the container * UX: exclude irrelevant search filters for anonymous users * send args to user-preferences-nav plugin outlet * FIX: Staged users are still missing primary email. * FEATURE: Force user to enter reason when requesting for group membership. * Adjust width for membership request input field. * FEATURE: add RSS feed for badge pages * restructure search-test to test all filters w/ variable visibiltiy * FIX: handle missing parent category when exporting user archive * FIX: Ensure that post action moderation post uses the site's default locale. * FIX: `updated_at` needs to be set in migration as well. * FIX: In development mode on OSX, plugin stylesheets were not reloading * Fix incorrect test migration. * Allow route maps to access `site` easily * Allow plugin patches to reload in development mode * UX: when staff change their email address, show a message saying an email has been sent to their current address, not their new one * Allow reloading of translation keys for plugins in development mode * FIX: user directory didn't update stats of users with no recent activity * 'add_to_serializer' should define the 'include_' method by default * Allow explicit hover and active buttons * FIX: You can't cache the files here, plugin translations won't work * Fix missing parameter. * FIX: Don't raise an error if URL timesout. * FIX: Return 404 if API access is invalid. * FIX: Staged users were incorrectly created multiple times with same email. * FIX: navigation item counters weren't updating properly * UX: placeholder text in watched word input field * Accept no arguments for `NavItem` options * improve discobot onebox link help * FIX: don't enforce newuser_spam_host_threshold on private messages * Remove Spork dependency. * soften the auto-hiding PM message a bit * minor improvements to setup wizard copy * Remove like on change of ownership. (#5038) ------------------------------------------------------------------- Mon Aug 07 13:12:08 UTC 2017 - mrueckert@suse.de - refreshed patches ------------------------------------------------------------------- Tue Aug 01 10:52:17 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta4~git412.bd0efb8525: * Add attribute to grouped search results for more available posts. * Add pagination and checking for more results to search. * Add info about more results to full-page search frontend. * Add rspec tests for search pagination. * Add infinite loading to full page search. * Fix rspec tests for search pagination. * badly resolved conflicts * fix rubocop offenses * Install rubocop in development mode. * FIX: Return a UTF-8 string in tag notifications * Bulk import likes from vBulletin thanks (#5014) * Hunt-and-kill a few more mis-encoded params * PERF: Allow plugins to preload custom fields for topics in `CategoryList`. * Fix the build. ------------------------------------------------------------------- Mon Jul 31 22:55:42 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta4~git396.88ba052446: * Add includes image choice to advanced search ui. * Add rspec test for searching posts with images. * Add backend code for searching posts with images. * Add file extension column to TopicLinks. * Add extraction of image_url for oneboxed images. Fix search by images filter name. * Add extraction of file extension in TopicLink and related rspec tests. * Add index to extension column in TopicLink. * Add backend code for searching by filetypes. * Add rspec tests for searching by a filetype. * Add migration with extension column to uploads. * Add extraction of upload extension. Add rspec test for search of post with upload by extension. * Fix backend code for searching by a filetype as a combination of uploads and topic links. Add rspec test for extracting file extension in upload. * Add onceoff job for uploads migration of column extension. Simplify filetype search and related rspec tests. * Remove mention of unhandled flags in description of the contact_email setting * FIX: Extra `<` character after icon refactor * fix rubocop offenses * FIX: staff cannot manually activate accounts after 48 hours has elapsed * optimize enqueuing activation email code * Replace rmmseg gem for cppjieba_rb since better dictionary (#5006) * [FIX] invalid byte sequence in UTF-8 (#5003) * correct mistake in spec * UX: Add new plugin outlet before reply count * UX: Move watched words to the Logs section of admin * secure default for the 'find_related_post_with_key' site setting ------------------------------------------------------------------- Mon Jul 31 13:57:08 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta4~git367.2e2b5e28aa: * Add a nil check on the connection before attempting to exec it * initial pass at color simplification * Include the `search_log_id` in search results * Track clicks on topics in search results * UX: Allow site settings to display as textareas if they like * FIX: medium URL with @ incorrectly handled as mention * correct more edge cases with new engine * correct issues with poll specs * Correct specs * correct js test * Specify the error that we want to ignore instead of rescuing all errors. * FIX: Escape URL before attempting to resolve it. * FEATURE: libv8 upgraded to version 5.7 * FEATURE: rake plugin:install_all_official * correct bench code * correct poll specs * fix broken spec * regression polls could not be closed properly * correct specs so they run on latest * Treat URL as loaded when loading script with tag. * FEATURE: Introduces new emoji-picker * fixes es-lint errors * fixes regression * performance/memory optimizations * clarification * simplifying code * do not apply touch start hack on emojis * bind hover only on desktop * disable modale escape for now * refactoring * function is not needed * es-lint * storing scroll position every 100 ms should be enough * formating * emphasizes it's a jquery object * reduces element search scope * function is not needed * uses es6 shorthands * removes tests causing timeouts on travais * move picker at top of the screen on mobile * better positioning on mobile devices * faster tests * es-lint * pixel perfect position * correctly hide the picker * refactoring * better scroll/touch handling on mobiles * should be a const * more consistent positioning * do not display clear on windows * not applicable anymore * skip random failures on travis ci * Skip emoji-picker tests * improve comments * warmup prior to running tests * Add options to skip core and install official plugins * improve emoji picker filter style * scope .section-group to .emoji-picker * FIX: infinite rebinding when filtering emojis * FIX: make sure the emoji picker is hidden * makes emoji-picker position more dynamic * unbind div-resizing event * FIX: emoji-picker works with dark theme * simplify emoji-picker recent usage logic * enforce that emoji-picker is not active by default * refactor async code of the emoji-picker * increase time needed to load section in emoji-picker * resets img src before changing it * FEATURE: phase 1 of supporting multiple email addresses * Dispose of heap when we reset the context. * Expose `PrettyText.v8` heap_stats in stats socket. * Fix broken specs. * Update translations. * FIX: don't error out when an unsubscribe key isn't associated to a user anymore * FIX: improves emoji-picker handling of its different states * Fix ol margin/padding so it displays ordered lists without cutting them off. https://meta.discourse.org/t/numbers-cut-off-in-long-list/59856 * FIX: emoji-picker positioning glitches on few edge cases * Correct mention edge cases * FIX: only highlight exact word matches in results * bump onebox version * correct bbcode parsing edge case * test v8 heap stats and aggregate all * FIX: broken specs * FIX: Object.assign is not supported in all browsers * DEV: support multiple capture groups for text post process * FEATURE: Inline (Mini) Oneboxing * Test failures for Inline Onebox * FIX: Oneboxes were not being previewed * Work in progress, CommonMark spec * attempt to cache all emojis * simplify emoji cache rule * Allow docker test rake task to be used for single plugins (#4973) * Fix incorrect filename. * reduce emoji loading threshold * FIX: dot not close emoji-picker when click is inside picker * emoji-picker refactoring * FIX: makes sure we don’t track when clicking on recent emojis * FIX: faster successive loading of emojis * tweaks to copy and styles * es-lints errors * fix broken specs * FIX: Group owners should be able to invite users to their groups. * add DiscourseEvent triggers necessary to update a user's permissions before they're notified * REFACTOR: Merge onebox and inline onebox code paths * Pass the full CommonMark spec * FEATURE: send rejection email for unrecognized errors * use the EMOJI_VERSION constant * replaces links/imgs by buttons in the emoji-picker * FIX: filtered emojis now correctly include custom emojis * FIX: do not store scroll position in local storage * FIX: Show emoji in inline oneboxes * UX: use down chevron icon to expand "show more links.." * FIX: emoji-picker filtering false positive * FIX: keep scroll position when adding first recent emoji * Fix the build. * FIX: Explicit error when category description post is bad * remove quote marks from search term result page * FEATURE: Whitelists for inline oneboxing * FIX: do not restore scroll on successive click on the same first emoji * api cleanup for before / after rules * amend to match latest api changes * FIX: Empty lines should be selected for block quotes * correctly return all v8 data as opposed to just one context * this was failing erratically * FIX: make sure there are meaningful titles on the picker * filetype comparison needs to be case insensitive * FIX: makes emoji filter case insensitive * Fix user stats colour for dark themes * simplify spec * remove readonly column specs for now * simplify spec * simplify spec * FIX: keep newlines between paragraphs when quoting a post * adjust markdown for account required message * Revert "UX: Don't try to figure out root domain." * FIX: Exclude `www` in topic map links. * Clear the cache after each test otherwise we are leaking state. * Not sure how this spec actually worked in the past. * Fix random spec failure due to ordering. * Use `Timecop.freeze` instead of `Timecop.travel`. * Fix specs. * Fix specs. * don't pollute test suite with warning message from readonly Redis * FIX: wasn't unfreezing time in email processor spec * increase js tests suite timeout to allow more time to travis-ci * change the *correct* timeout value * Reintroduce specs that wasn't causing random failures. * FIX: improves efficiency * FIX: handle existing users in imports * Add back test to ensure user can't edit name after `SiteSetting.username_change_period`. * FIX: broken spec * FIX: vBulletin bulk importer * Validate uniquness of `api_key`. * FIX: vBulletin bulk importer: emails and stats * Reenable skipped `Email::Receiver` spec. * Fix `SiteSetingExtension` specs to coerce int to string. * Re-enable skip tests for `Email::Styles`. * Re-enable skipped `Scheduler::ScheduleInfo` test. * FIX: wrong position for change email instructions * FIX: oops, real fix for change email instructions * FEATURE: remove the timecop gem * FIX: smart quote edge case with quotes * freeze time in spec * use time zone for extra safety * FIX: saving profile preferences removes name in account preferences * FIX: don't re-scheduler correctly scheduled daily tasks * clean up skipped tests tighter connection handling in scheduler * clean up stop semantics * tighten time to stop schedueler * comment out specs that break others * lets attempt to get these specs working! * FIX: allow bbcode to be unquoted for default * Remove comment that is no longer relevant. * Stop Rails from escaping the HTML in this description. * Add charset preference when bulk importing vBulletin * Remove warnings in `ColumnDropper.mark_readonly` test. * fixing @mention color * mildly lighter @mention * Fix docker tests not loading plugins. * Reset ActiveRecord cache after dropping columns. * Fix JS tests failing when running in `RAILS_ENV=test`. * FEATURE: new 'strip image metadata' site setting * FIX: emoji-picker broken and skipped specs * FIX: emoji-picker do not reload all everything when changing diversity * add link to /about page in email rejection messages * Update UserEmail primary key sequence when performing bulk import. * Fix sidekiq command in docs to start all queues instead of only critical. * FIX: Broken topic invite button. * Remove stray debugger. * remove poinless fails from CI * FEATURE: allow bisect and rspec seed * extend wait_for in case redis chokes up in test * Improve “server warmup” check for qunit rake task * Stop writing to STDOUT/ERR during tests * FIX: block all emails associated to a user when destroying their record * UX: Refactor composer buttons into flat buttons * UX: Use flat button style for bulk selection * UX: Apply `btn-flat` class to flat buttons on posts * FIX: don't escape html of poll options * safely call html_safe on category description * FEATURE: use Markdown for image pasted in as opposed to IMG tags * phpBB3 importer: Use permalink normalization for category links * FIX: specs failed if discourse-push-notifications booted * remove 2 failures that happen if discobot booted * attempt to stablise spec in travis * add diagnostics for flaky test * phpBB3 importer: Permalink for first post of each topic was missing * Update ul padding/margin to match ol. https://meta.discourse.org/t/numbers-cut-off-in-long-list/59856/16?u=cpradio * FIX: Search by topic_id should not be restricted by `SiteSetting.min_search_term_length`. * Fix invalid CSS syntax. * Improve specs to check top level stylesheets for SCSS compilation errors. * UX: Include group name in email when group is invited to a PM. * UX: Don't show empty user list for groups without members. * Sanitize SQL arguments to prevent injections. * REFACTOR: Reduce number of queries sent to the DB. * Qunit plugin rake tasks (#4985) * Allow whitespace around % scaler in markdown image syntax (#5000) * Update libv8 and benchmark * FEATURE: Watched Words: when posts contain words, do one of flag, require approval, censor, or block * noturbo bench added * Spawn a new rake process to run tests, so that LOAD_PLUGINS gets re-checked (#5001) * missing bracket * FEATURE: Plugins can overwrite and add support for new icons * correct flaky spec * FIX: onebox for dropbox video links not working * REFACTOR: Better variable name. * UX: Better group creation workflow. * UX: Change group membership requests icons on groups pages. * Fix incorrect assertion in JS tests. * UX: Display button to message group on group page. * FIX: Wizard was broken * Run wizard specs in docker:test * FIX: We need to precompile the wizard test helper * Revert "FIX: We need to precompile the wizard test helper" * FIX: Precompile errors for wizard tests * fix intermittent failing tests, some watched word refactoring * Rename `{{fa-icon}}` to `{{d-icon}}` so it can be more generic * REFACTOR: Replace some `fa-*` uses with helpers * REFACTOR: Replace `fa-*` in SCSS with `d-icon-*` * Bump Plugin API version for icon api * FIX: Badge icons disappeared * UX: Remove `hidden` from the `#discourse-modal` when the modal is shown * FEATURE: support inline bbcode blocks eg: [quote]test[/quote] * FIX: Notifications dropdown had incorrect spacing * Add rubocop to our build. (#5004) * FEATURE: Add group settngs to allow users to leave a group freely. * FIX: deleting own post results in error * FIX: when quoting add a newline * Correct post deletion spec so it is async * Remove unused `register_theme` code, expose `serve_public` * FIX: Remove unused test * Remove serve_public_dir -- it's not needed * REFACTOR: CSS improvements to improve targetting and remove !important * REFACTOR: Category / Tag Dropdown headers had extra classes * Add classes to notification dropdown buttons * Add class to admin wrench button * attempt to stablise flaky spec * FIX: Pull last emoji-db revision * FIX: preserve fragment identifier when escaping url * extract url escaping to a dedicated class method and improved tests * FIX: Always validate presence of user's primary_email. * Add spec to ensure that even staged users contain a primary email. * FIX: Staged users did not have a `UserEmail` record. * Add placeholder text to group member add field * UX: Discobot advanced tutorial certificate does not work with dark theme. * Upgrade Rails to 4.2.9. * FIX: `Group#visibility_level` isn't shown in admin group edit page. * Enhance bulk import scripts (#5010) * Update DEVELOPER-ADVANCED doc with latest ruby & node versions * `db:test:prepare` doesn't seem to work * update email_reply_trimmer to latest * fix the receiver_spec * FIX: add slight delay when enqueuing activation email ------------------------------------------------------------------- Mon Jul 17 16:07:42 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta4~git72.d0c5205a52: * FIX: internal oneboxing wasn't working when login was required * Feature: Change markdown engine to markdown it ------------------------------------------------------------------- Mon Jul 17 10:02:37 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta4~git70.653ef56dc7: * Clean up job for search logs * FIX: Don't include images in the topic map top links * Fix user is nil in populate posts. * Don't run Rails migration on Travis for QUNIT only tests. * Log errors when trying to load a `markdown-it-bunlde.js`. * Fix guard against concurrently loading of assets. * FIX: Concurently loading deferred loading of a script incorrectly resolves the promise. * Fix .travis.yml. * Revert "Fix .travis.yml." * Revert "Don't run Rails migration on Travis for QUNIT only tests." ------------------------------------------------------------------- Fri Jul 07 00:32:51 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta3~git15.198f308f7b: * FIX: Select topic timer's category by default in edit modal. * FIX: s/google_blob/google_classic * FIX: Disable topic status info when no category has been selected. * FIX: `Jobs::PullHotlinkedImages#is_valid_image_src` returns true for a generic string. * Allow version_checks to be shadowed by global * FEATURE: new site setting to limit message recipients * UX: Reply button was offset improperly when anonymous * Remove unused module transpiler ------------------------------------------------------------------- Fri Jun 23 16:15:50 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta2~git150.b7386958ed: * better responsive layout for new topic btn * FIX: always try to convert PNG to JPG when pasting an image * make eslint happy again * update pikaday.js * calendar should overflow in the 'Feature this topic' modal * Emoji ordering * Feature: CommonMark support * FEATURE: consistent bbcode inline and block rulers * don't leak state into other tests ------------------------------------------------------------------- Mon Jun 19 21:36:40 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta2~git97.394efb3290: * Allow multiple host when restricting Sidekiq queues. * FEATURE: offer help on forgot password modal * copyedit on login help text * remove trailing dot in help text * UX: make font size consistent on password reset modal * UX: hide help button after click * optimize 'hide help button' code * remove sinatra * FIX: topic list wrapping under category list on some screens * FIX: Docking of progress component on iOS was a bit off ------------------------------------------------------------------- Fri Jun 16 23:46:54 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta2~git76.c5f42f0e97: * FEATURE: Add a user's primary group class name to the body tag * FIX: Try a GET for error code 409 too -- (Medium posts) * FIX: Validate interpolation keys used in translation overrides. * Fix failing specs. * FIX: Remove dependency on `rest-client`. * REFACTOR: Allow `delete_removed_posts_after` SiteSetting to be bypassed. * FIX: Recover post tutorial does not work when `SiteSetting.delete_removed_posts_after` is 0. * UX: move optional to the description text for the password field * RTL digest emails * fix discourse_hub_spec ------------------------------------------------------------------- Tue Jun 06 20:22:16 UTC 2017 - mrueckert@suse.de - Update to version 1.9.0.beta1~git60.00f06b808: * Remove columns that are no longer being used. * FIX: Track should only continue if user is alone with bot in a PM. * Add ENV variable to specify path to write unicorn's pid. * Delaying dropping topic auto close columns by one hour. * Fix typo. * Move the constant as well. * FIX: ensure we never collide ids in the JIVE API importer * FIX: If HEAD is not supported, try GET. Also set cookies * FIX: Support for cookies in onebox redirects * UX: Show column headers on user topic lists ------------------------------------------------------------------- Mon Jun 5 14:37:12 UTC 2017 - mrueckert@suse.de - move to ruby 2.4 and nodejs8 ------------------------------------------------------------------- Wed May 31 23:00:12 UTC 2017 - mrueckert@suse.de - make public plugins writable for now until we fixed the narrative bot stuff ------------------------------------------------------------------- Fri May 19 01:19:57 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta12~git73.ef2811f39: * FIX: allow pasting links into title field that are longer than the max title length * fix js test failure * add missing space to dutch translation * Don't pre-minifiy autoellipsis * FIX: layout of buttons and modals on mobile * FIX: label positioning on mobile forms * FIX: Don't incluide a trailing `<br>` in the bio excerpt * FIX: mobile modal close button position, mobile layout of radio buttons and checkboxes * remove box-shadows around radio buttons and checkboxes on mobile * simplify time formats for set topic timer ------------------------------------------------------------------- Mon May 15 22:08:35 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta12~git16.941adca95: * FIX: Forgot to lock gem * correctly pick the selected theme based on what is loaded * FIX: Use `bundle exec` for `bundle-audit` * FIX: Only mark all as rendered after *everything* is rendered * FIX: We can download protocol relative urls * FEATURE: use fancy title in notifications * we should use fancy title if available * FIX: resize events for ace were not triggered correctly * FIX: Add missing test * FIX: If you refresh New, clear the incoming topics text ------------------------------------------------------------------- Thu May 11 00:22:08 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta11~git148.9641d2413: * FEATURE: bulk relist * Don't hardcode code button index and remove the for loop and use .some() * Allow theme field object model to support uploads * FEATURE: support uploads for themes * improve spec * improve upload functionality * FIX: correctly invalidate theme css cache on scheme change * FIX: maximize css editor not working * oops my linter is not running automatically * REFACTOR: upload workflow creation into UploadCreator ------------------------------------------------------------------- Tue May 09 22:22:31 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta11~git134.907f6cd76: * We don't need to log when we can't download a Gravatar * Don't log a gravatar failure that is a socket error * We don't need to log downloading avatars that are too large * FIX: There are still jobs enqueued for CloseTopic * Silence logs for OptimizedImage failures * Make CloseTopic a no-op just in case * Catch RSS Parsing errors * FIX: The keyboard shortcut to bookmark the first post wasn't refreshing * FIX: Better error message for when your bookmark rate limit is exceeded * FIX: Select2 retina icons were broken ------------------------------------------------------------------- Thu May 04 12:04:14 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta11~git73.489c3bc1c: * Add 'keep_cid_imgs' option to HTML to Markdown converter to improve incoming email parsing * Improve handling of inlined images in incoming emails * FIX: Filter badges to user on their badges page too * FIX: The user might be anonymous * FIX: Show share popup only for valid buttons. * SECURITY: XSS issue in share popup if invalid link is passed in. * FIX: Invalid creation of `Theme` in wizard builder. * No need to run migration for QUNIT tests on Travis. * Revert "No need to run migration for QUNIT tests on Travis." * Disable failing JS tests first. ------------------------------------------------------------------- Thu Apr 27 21:03:37 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta11~git1.cb8f91ca2: * FIX: Clean up unused staged users job not completing. * Allow a sidekiq queue to be configured to only run on a certain hostname. * FIX: Force the right encoding when handling email. * FIX: Raise right response when post_action does not exist. * restore the 'incoming_email_prefer_html' site setting * FIX: Messed up i18n key * FIX: Forgot to clear out a topic excerpt * Revert offset calculation, was working poorly. * Update translations * Version bump to v1.8.0.beta11 * FIX: Scrolling offset was broken when entering some topics ------------------------------------------------------------------- Tue Apr 25 22:34:55 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta10~git215.587653ad7: * Use image gallery feature of magnific * FIX: sane max value for max_image_size_kb & max_attachment_size_kb setting * raise max value for max_image_size_kb to 102400 * FIX: make TopicEmbed trashable * FEATURE: in vim dev you can focus on spec line in autospec * correct sample to work with rails.vim * FEATURE: add support for bootsnap in dev * Update screenshots on Readme * Track error message in `SchedulerStats`. * remove bootsnap till we sort out linux ------------------------------------------------------------------- Thu Apr 20 11:23:00 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta10~git144.94c7be3ca: * FEATURE: Only show overridden option for theme css * FIX: destroying color scheme could remove wrong item from UI * FIX: New implementation of the "notify about flag after" setting. Only notify about new flags since the last notification. Send a private message to staff. Mention the 3 most active moderators in the message so they get notification emails. * FEATURE: added error messages for bad theme CSS / JS * Update moment locales as well. * UX: Improve the way users set timers for `TopicStatusUpdate`. * Install `discourse_image_optim` gem for now. * Add time out when optimizing images. * FIX: redirect to login page for anonymous user when profiles are hidden ------------------------------------------------------------------- Sun Apr 16 10:13:48 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta10~git92.c38108631: * use scss mode instead of css mode * FIX: path wizard showing with no style * FIX: clicking on themes while editing left a blank screen * FEATURE: auto focus text editor when editing themes * FIX: blanking theme field was not properly removing it * FIX: in some case bundle exec fails from spawn * FIX: embedding comments was broken * FIX: add minimum value for invites_per_page setting * FIX: allow CSS precompilation to access newly manifested assets * FIX: don't precompile if we have no themes table * FIX: display custom sections with default theme * trigger a stylesheed update * correct environment handling for test mode * correct the monkey patch * correct specs * FIX: Update auto_notification to also update the subscription state when replying if the current state is less than the state being requested * FIX: stop double compiling all hbs files * Add spec for auto notification update It should update the topic subscription so long as what is being requested is higher than what is currently set for the user and the given topic It should not update the topic subscription if the requested subscription is less than what is currently set for the user and given topic * FIX: Corrects typo to avoid error 500 on theme change * FIX: Onebox's dependencies were not updated. * Support Ruby 2.4. * Use HTTPS for links to *.discourse.org * FIX: send activation email when accepting invite if password is set * Fix the build * FIX: increase host_must_be_valid regex for .technology TLD ------------------------------------------------------------------- Thu Apr 13 15:15:02 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta10~git61.ee950b419: * FIX: Check for reserved usernames before hitting DB. * Improve SSO verbose log when user record is invalid. * FIX: Don't enqueue topic status update job if topic is deleted. * FIX: confirm email token for user created via social login * FIX: Don't show category options for reports that can't be scoped to a category. * Upgrade the Listen gem * FIX: improve dark theme styling in header for tags * FIX: order child themes by name * correct transitioning to theme CSS editing ------------------------------------------------------------------- Thu Apr 13 12:05:59 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta10~git57.ef093b161: * Wrap directory names in quotes * Update boot_dev * bump onebox * Upgrade Rails to 4.2.8. * REFACTOR: Add `User.reserved_username?`. * FIX: Check for reserved usernames before hitting DB. * Improve SSO verbose log when user record is invalid. * FIX: Don't enqueue topic status update job if topic is deleted. * FIX: confirm email token for user created via social login * FIX: Don't show category options for reports that can't be scoped to a category. ------------------------------------------------------------------- Wed Apr 12 22:49:45 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0.beta10~git46.a5f1c57a7: * correct issue where no selected theme would force incorrect selection * we need theme vars when building theme css * expand tmp for osx * FIX: Topic.similar_to error when Search is not loaded * FIX: pasting link into composer with a topic template will onebox the link after the template * multiplier should not have been changed * WIP: JIVE importer using the API * FIX: handle expanding quotes from deleted posts by rendering a trash icon * Bump onebox. * bump onebox ------------------------------------------------------------------- Thu Mar 23 14:37:59 UTC 2017 - mrueckert@suse.de - Update to version v1.8.0.beta8~git36.3ef82bb: * FIX: use email prefix only in subject * FIX: better error message when invited user already exists * Add 'slight_smile' emoji translations * remove duplicate emoji translation * FIX: sso provider require return_sso_url * FIX: replace site_name in email subject with site title * Use the same jQuery in prod and dev, avoid minimizing twice * Use unminified resize to make debugging easier * FEATURE: category setting for default top period * SECURITY: CSRF vulnerabilities in `Admin::BackupsController`. ------------------------------------------------------------------- Thu Mar 16 23:30:28 UTC 2017 - mrueckert@suse.de - Update to version latestrelease~git89.ad8a579: * FEATURE: Socialcast Importer: Set category and tags based on group * Allow ports for embed host IPs * FIX: Add route for user TL3 requirements page * Fixes duplicated topic title in header after edit. * FEATURE: subcategory list style: boxes with featured topics * SECURITY: Don't use backticks for exporting your archive * minor copyedits in guidelines * UX: banner enabled/disabled posts should be small posts, not full-size posts ------------------------------------------------------------------- Fri Mar 3 20:17:38 UTC 2017 - mrueckert@suse.de - new version requires thor ------------------------------------------------------------------- Mon Feb 27 11:05:56 UTC 2017 - mrueckert@suse.de - Update to version 1.8.0~beta5+git104.a2c04be: * FIX: typo in a routes.rb comment * FIX: attempt to handle ios edge case where token is seen but unsaved * Remove references to elder * FIX: Mobile topic timeline broken on Chrome 56. * FIX: Search menu results does not refresh when search context is changed. * UX: "See more" on not found page should redirect to /top. ------------------------------------------------------------------- Fri Feb 24 10:42:16 UTC 2017 - mrueckert@suse.de - update to a2c04be ------------------------------------------------------------------- Fri Feb 24 10:10:47 UTC 2017 - mrueckert@suse.de - update to 1060239 ------------------------------------------------------------------- Fri Feb 24 00:26:06 UTC 2017 - mrueckert@suse.de - update to 3754b03 ------------------------------------------------------------------- Wed Feb 22 17:01:09 UTC 2017 - mrueckert@suse.de - update to 2f657b0 ------------------------------------------------------------------- Fri Feb 17 23:59:43 UTC 2017 - mrueckert@suse.de - update to a6ebe49 ------------------------------------------------------------------- Wed Feb 15 00:03:31 UTC 2017 - mrueckert@suse.de - update to c085e8f ------------------------------------------------------------------- Mon Feb 13 11:30:57 UTC 2017 - mrueckert@suse.de - update to 13c7887 ------------------------------------------------------------------- Fri Feb 10 12:02:01 UTC 2017 - mrueckert@suse.de - update to 137e941 ------------------------------------------------------------------- Wed Feb 8 17:18:57 UTC 2017 - mrueckert@suse.de - update to 581d477 ------------------------------------------------------------------- Wed Feb 8 16:18:12 UTC 2017 - mrueckert@suse.de - update to 75f154b ------------------------------------------------------------------- Mon Feb 6 13:50:03 UTC 2017 - mrueckert@suse.de - update to ba11548 ------------------------------------------------------------------- Mon Feb 6 11:09:15 UTC 2017 - mrueckert@suse.de - update to ceee2a5 ------------------------------------------------------------------- Fri Feb 3 23:36:17 UTC 2017 - mrueckert@suse.de - update to f1e7bca ------------------------------------------------------------------- Fri Feb 3 20:15:32 UTC 2017 - mrueckert@suse.de - update to b251d11 ------------------------------------------------------------------- Fri Feb 3 16:39:33 UTC 2017 - mrueckert@suse.de - update to 5523d0d ------------------------------------------------------------------- Mon Jan 30 14:34:35 UTC 2017 - mrueckert@suse.de - update to 0c6ad45 ------------------------------------------------------------------- Fri Jan 27 11:26:03 UTC 2017 - mrueckert@suse.de - update to cb1b24b ------------------------------------------------------------------- Fri Jan 27 00:17:06 UTC 2017 - mrueckert@suse.de - update to 0a1d05c ------------------------------------------------------------------- Thu Jan 26 18:47:09 UTC 2017 - mrueckert@suse.de - update to 8923e40 ------------------------------------------------------------------- Thu Jan 26 18:27:23 UTC 2017 - mrueckert@suse.de - update to a553fec ------------------------------------------------------------------- Tue Jan 24 10:16:44 UTC 2017 - mrueckert@suse.de - update to ba21ef3 ------------------------------------------------------------------- Mon Jan 23 21:19:57 UTC 2017 - mrueckert@suse.de - update to ff508ed ------------------------------------------------------------------- Mon Jan 23 19:25:45 UTC 2017 - mrueckert@suse.de - update to 7e52d29 ------------------------------------------------------------------- Wed Jan 18 19:33:28 UTC 2017 - mrueckert@suse.de - update to 8d4cff6 ------------------------------------------------------------------- Wed Jan 18 10:33:42 UTC 2017 - mrueckert@suse.de - update to 095ec9c ------------------------------------------------------------------- Mon Jan 16 17:21:56 UTC 2017 - mrueckert@suse.de - update to 116e743 ------------------------------------------------------------------- Mon Jan 16 10:49:54 UTC 2017 - mrueckert@suse.de - update to d4b2a63 ------------------------------------------------------------------- Fri Jan 13 23:14:40 UTC 2017 - mrueckert@suse.de - update to 5f08630 ------------------------------------------------------------------- Wed Jan 11 14:27:36 UTC 2017 - mrueckert@suse.de - update to e793caf ------------------------------------------------------------------- Tue Jan 10 23:25:28 UTC 2017 - mrueckert@suse.de - update to 42c39ab ------------------------------------------------------------------- Mon Jan 9 22:36:27 UTC 2017 - mrueckert@suse.de - update to b60bc47 ------------------------------------------------------------------- Fri Jan 6 21:29:44 UTC 2017 - mrueckert@suse.de - update to e0bbe33 ------------------------------------------------------------------- Fri Jan 6 19:50:32 UTC 2017 - mrueckert@suse.de - update to 41307c3 ------------------------------------------------------------------- Thu Jan 5 19:28:02 UTC 2017 - mrueckert@suse.de - update to 7c80952 ------------------------------------------------------------------- Thu Jan 5 12:48:35 UTC 2017 - mrueckert@suse.de - update to 937ea5e ------------------------------------------------------------------- Mon Jan 2 19:46:53 UTC 2017 - mrueckert@suse.de - update to 495a511 ------------------------------------------------------------------- Fri Dec 30 20:33:27 UTC 2016 - mrueckert@suse.de - update to 225e670 ------------------------------------------------------------------- Thu Dec 29 15:45:02 UTC 2016 - mrueckert@suse.de - update to 1debf98 ------------------------------------------------------------------- Wed Dec 28 23:38:11 UTC 2016 - mrueckert@suse.de - update to dd4937a ------------------------------------------------------------------- Wed Dec 28 20:18:42 UTC 2016 - mrueckert@suse.de - update to 6734743 ------------------------------------------------------------------- Wed Dec 28 17:30:28 UTC 2016 - mrueckert@suse.de - update to 1ffbd9b ------------------------------------------------------------------- Tue Dec 27 23:20:06 UTC 2016 - mrueckert@suse.de - switch to ruby 2.3 ------------------------------------------------------------------- Tue Dec 27 22:51:38 UTC 2016 - mrueckert@suse.de - update to 5111611 ------------------------------------------------------------------- Tue Dec 27 18:30:10 UTC 2016 - mrueckert@suse.de - update to 889efe4 ------------------------------------------------------------------- Mon Dec 26 22:33:27 UTC 2016 - mrueckert@suse.de - update to 744f1fd ------------------------------------------------------------------- Wed Nov 9 15:59:25 UTC 2016 - mrueckert@suse.de - update to 541c29f ------------------------------------------------------------------- Sun Jul 10 22:06:29 UTC 2016 - mrueckert@suse.de - update to 201d344 ------------------------------------------------------------------- Fri May 20 19:24:27 UTC 2016 - mrueckert@suse.de - update to e2df79e ------------------------------------------------------------------- Fri May 20 10:18:45 UTC 2016 - mrueckert@suse.de - update to c4f9384 ------------------------------------------------------------------- Wed May 18 09:20:51 UTC 2016 - mrueckert@suse.de - update to d2e0ee6 ------------------------------------------------------------------- Tue May 17 11:38:09 UTC 2016 - mrueckert@suse.de - update to 94a1051 ------------------------------------------------------------------- Sat May 14 12:35:23 UTC 2016 - mrueckert@suse.de - update to 6137bb4 ------------------------------------------------------------------- Fri May 13 23:08:17 UTC 2016 - mrueckert@suse.de - update to 5a75972 ------------------------------------------------------------------- Wed May 11 23:10:36 UTC 2016 - mrueckert@suse.de - update to 6287732 ------------------------------------------------------------------- Wed May 11 01:39:41 UTC 2016 - mrueckert@suse.de - update to d0b9b69 ------------------------------------------------------------------- Tue May 10 15:40:41 UTC 2016 - mrueckert@suse.de - update to 55dcccb ------------------------------------------------------------------- Mon May 9 23:31:31 UTC 2016 - mrueckert@suse.de - update to 6f9a3d1 ------------------------------------------------------------------- Mon May 9 16:15:18 UTC 2016 - mrueckert@suse.de - update to 29b94b5 ------------------------------------------------------------------- Mon May 9 10:20:52 UTC 2016 - mrueckert@suse.de - update to 3353b11 ------------------------------------------------------------------- Sat May 7 02:56:44 UTC 2016 - mrueckert@suse.de - update to 9741584 ------------------------------------------------------------------- Thu May 5 00:10:49 UTC 2016 - mrueckert@suse.de - update to 34670c2 ------------------------------------------------------------------- Wed May 4 15:50:57 UTC 2016 - mrueckert@suse.de - update to 9427e0c ------------------------------------------------------------------- Tue May 3 22:50:26 UTC 2016 - mrueckert@suse.de - update to 5576c8e ------------------------------------------------------------------- Tue May 3 00:25:03 UTC 2016 - mrueckert@suse.de - update to 8e611ec ------------------------------------------------------------------- Sun May 1 01:21:02 UTC 2016 - mrueckert@suse.de - update to b1d6e23 ------------------------------------------------------------------- Wed Apr 27 18:22:58 UTC 2016 - mrueckert@suse.de - update to 2f911d9 ------------------------------------------------------------------- Wed Apr 27 16:01:53 UTC 2016 - mrueckert@suse.de - update to e5918c7 ------------------------------------------------------------------- Wed Apr 27 14:15:25 UTC 2016 - mrueckert@suse.de - update to 7151c16 ------------------------------------------------------------------- Tue Apr 26 23:16:03 UTC 2016 - mrueckert@suse.de - update to 9fdea6c ------------------------------------------------------------------- Mon Apr 25 23:22:05 UTC 2016 - mrueckert@suse.de - update to 9a08bb1 ------------------------------------------------------------------- Mon Apr 25 23:17:03 UTC 2016 - mrueckert@suse.de - update to 6fb46fe ------------------------------------------------------------------- Mon Apr 25 10:03:45 UTC 2016 - mrueckert@suse.de - update to d1f6101 ------------------------------------------------------------------- Fri Apr 22 13:32:34 UTC 2016 - mrueckert@suse.de - update to ed446ca ------------------------------------------------------------------- Thu Apr 21 23:39:04 UTC 2016 - mrueckert@suse.de - update to 72761ab ------------------------------------------------------------------- Thu Apr 21 01:37:26 UTC 2016 - mrueckert@suse.de - update to 3aa8593 ------------------------------------------------------------------- Wed Apr 20 22:10:34 UTC 2016 - mrueckert@suse.de - update to 27695c7 ------------------------------------------------------------------- Tue Apr 19 21:42:22 UTC 2016 - mrueckert@suse.de - update to 51b0b5f ------------------------------------------------------------------- Tue Apr 19 01:23:01 UTC 2016 - mrueckert@suse.de - update to 7d9f226 ------------------------------------------------------------------- Sun Apr 17 04:49:59 UTC 2016 - mrueckert@suse.de - update to 2db42e9 ------------------------------------------------------------------- Fri Apr 15 23:27:33 UTC 2016 - mrueckert@suse.de - update to 1a621f3 ------------------------------------------------------------------- Thu Apr 14 23:35:24 UTC 2016 - mrueckert@suse.de - update to e30c823 ------------------------------------------------------------------- Wed Apr 13 22:10:07 UTC 2016 - mrueckert@suse.de - update to e808f7f ------------------------------------------------------------------- Wed Apr 13 20:07:18 UTC 2016 - mrueckert@suse.de - update to 95854a9 ------------------------------------------------------------------- Tue Apr 12 19:44:13 UTC 2016 - mrueckert@suse.de - update to fa369bc ------------------------------------------------------------------- Tue Apr 12 19:20:54 UTC 2016 - mrueckert@suse.de - update to f95f488 ------------------------------------------------------------------- Tue Apr 12 14:54:48 UTC 2016 - mrueckert@suse.de - update to 8e4113a ------------------------------------------------------------------- Tue Apr 12 11:41:36 UTC 2016 - mrueckert@suse.de - update to 983d64f ------------------------------------------------------------------- Tue Apr 12 00:54:48 UTC 2016 - mrueckert@suse.de - update to cb6d163 ------------------------------------------------------------------- Fri Apr 8 15:45:53 UTC 2016 - mrueckert@suse.de - update to ab11cea ------------------------------------------------------------------- Thu Apr 7 22:47:38 UTC 2016 - mrueckert@suse.de - update to 609969b ------------------------------------------------------------------- Thu Apr 7 10:11:59 UTC 2016 - mrueckert@suse.de - update to 60c21a3 ------------------------------------------------------------------- Tue Apr 5 20:24:07 UTC 2016 - mrueckert@suse.de - update to 64a1a44 ------------------------------------------------------------------- Mon Apr 4 23:16:20 UTC 2016 - mrueckert@suse.de - update to f382897 ------------------------------------------------------------------- Sat Apr 2 22:52:57 UTC 2016 - mrueckert@suse.de - update to b0f4c9e ------------------------------------------------------------------- Fri Apr 1 20:38:05 UTC 2016 - mrueckert@suse.de - update to 05164d4 ------------------------------------------------------------------- Thu Mar 31 22:57:51 UTC 2016 - mrueckert@suse.de - update to 8f4bc22 ------------------------------------------------------------------- Thu Mar 31 21:02:21 UTC 2016 - mrueckert@suse.de - update to bd1ca35 ------------------------------------------------------------------- Wed Mar 30 21:54:03 UTC 2016 - mrueckert@suse.de - update to a344b1e ------------------------------------------------------------------- Wed Mar 30 18:28:14 UTC 2016 - mrueckert@suse.de - update to 44e41df ------------------------------------------------------------------- Wed Mar 30 16:15:28 UTC 2016 - mrueckert@suse.de - update to bf57917 ------------------------------------------------------------------- Wed Mar 30 15:12:15 UTC 2016 - mrueckert@suse.de - update to a00ba1d ------------------------------------------------------------------- Tue Mar 29 19:38:48 UTC 2016 - mrueckert@suse.de - update to 25235ec ------------------------------------------------------------------- Tue Mar 29 15:05:40 UTC 2016 - mrueckert@suse.de - update to b3354bd ------------------------------------------------------------------- Tue Mar 29 12:28:55 UTC 2016 - mrueckert@suse.de - update to 480e8d0 ------------------------------------------------------------------- Sun Mar 27 12:53:40 UTC 2016 - mrueckert@suse.de - update to 0a05c9e ------------------------------------------------------------------- Fri Mar 25 00:35:30 UTC 2016 - mrueckert@suse.de - update to f0c0223 ------------------------------------------------------------------- Wed Mar 23 15:32:26 UTC 2016 - mrueckert@suse.de - update to fa56082 ------------------------------------------------------------------- Tue Mar 22 10:56:50 UTC 2016 - mrueckert@suse.de - update to 8fea5ad ------------------------------------------------------------------- Mon Mar 21 16:16:28 UTC 2016 - mrueckert@suse.de - update to f68671a ------------------------------------------------------------------- Thu Mar 17 22:43:22 UTC 2016 - mrueckert@suse.de - update to 03a1aa0 ------------------------------------------------------------------- Thu Mar 17 00:18:36 UTC 2016 - mrueckert@suse.de - update to 14a77aa ------------------------------------------------------------------- Wed Mar 16 00:31:28 UTC 2016 - mrueckert@suse.de - update to 978fb61 ------------------------------------------------------------------- Mon Mar 14 18:13:20 UTC 2016 - mrueckert@suse.de - update to ff12b5b ------------------------------------------------------------------- Mon Mar 14 17:35:42 UTC 2016 - mrueckert@suse.de - update to 7e97724 ------------------------------------------------------------------- Sat Mar 12 21:28:26 UTC 2016 - mrueckert@suse.de - update to a78392d ------------------------------------------------------------------- Fri Mar 11 13:48:13 UTC 2016 - mrueckert@suse.de - update to bf209d8 ------------------------------------------------------------------- Thu Mar 10 20:09:40 UTC 2016 - mrueckert@suse.de - update to 1fc335d ------------------------------------------------------------------- Wed Mar 9 01:16:46 UTC 2016 - mrueckert@suse.de - update to a28816e ------------------------------------------------------------------- Tue Mar 8 10:35:02 UTC 2016 - mrueckert@suse.de - update to ee8be3d ------------------------------------------------------------------- Mon Mar 7 22:46:49 UTC 2016 - mrueckert@suse.de - update to 74e4251 ------------------------------------------------------------------- Mon Mar 7 16:24:45 UTC 2016 - mrueckert@suse.de - update to 622d804 ------------------------------------------------------------------- Mon Mar 7 12:03:43 UTC 2016 - mrueckert@suse.de - update to 607901c ------------------------------------------------------------------- Mon Mar 7 00:09:44 UTC 2016 - mrueckert@suse.de - update to 67995b3 ------------------------------------------------------------------- Sat Mar 5 20:08:23 UTC 2016 - mrueckert@suse.de - update to a656a67 ------------------------------------------------------------------- Fri Mar 4 13:16:27 UTC 2016 - mrueckert@suse.de - update to 7598037 ------------------------------------------------------------------- Fri Mar 4 10:58:58 UTC 2016 - mrueckert@suse.de - update to 71911a4 ------------------------------------------------------------------- Thu Mar 3 19:54:43 UTC 2016 - mrueckert@suse.de - update to 7ddb7ff ------------------------------------------------------------------- Thu Mar 3 19:13:15 UTC 2016 - mrueckert@suse.de - update to 04990e7 ------------------------------------------------------------------- Thu Mar 3 17:08:15 UTC 2016 - mrueckert@suse.de - update to 3b18a5d ------------------------------------------------------------------- Thu Mar 3 11:05:32 UTC 2016 - mrueckert@suse.de - update to f3c868e ------------------------------------------------------------------- Wed Mar 2 21:30:51 UTC 2016 - mrueckert@suse.de - update to c1aea91 ------------------------------------------------------------------- Wed Mar 2 01:56:33 UTC 2016 - mrueckert@suse.de - update to 280ca37 ------------------------------------------------------------------- Tue Mar 1 23:19:55 UTC 2016 - mrueckert@suse.de - update to 83fda03 ------------------------------------------------------------------- Tue Mar 1 19:28:39 UTC 2016 - mrueckert@suse.de - update to 8349669 ------------------------------------------------------------------- Tue Mar 1 17:35:55 UTC 2016 - mrueckert@suse.de - update to 9dc533a ------------------------------------------------------------------- Mon Feb 29 17:32:48 UTC 2016 - mrueckert@suse.de - update to ff31403 ------------------------------------------------------------------- Mon Feb 29 13:40:28 UTC 2016 - mrueckert@suse.de - update to 9e46690 ------------------------------------------------------------------- Sun Feb 28 00:14:17 UTC 2016 - mrueckert@suse.de - update to 9cea4dd ------------------------------------------------------------------- Fri Feb 26 17:03:39 UTC 2016 - mrueckert@suse.de - update to c2c4eff ------------------------------------------------------------------- Thu Feb 25 22:41:12 UTC 2016 - mrueckert@suse.de - update to 33aad09 ------------------------------------------------------------------- Thu Feb 25 17:42:55 UTC 2016 - mrueckert@suse.de - update to 954ae7a ------------------------------------------------------------------- Wed Feb 24 10:34:24 UTC 2016 - mrueckert@suse.de - update to 415efd0 ------------------------------------------------------------------- Wed Feb 24 09:25:08 UTC 2016 - mrueckert@suse.de - update to f259d7a ------------------------------------------------------------------- Tue Feb 23 10:35:26 UTC 2016 - mrueckert@suse.de - update to ced86aa ------------------------------------------------------------------- Mon Feb 22 20:06:43 UTC 2016 - mrueckert@suse.de - update to cab5dd0 ------------------------------------------------------------------- Mon Feb 22 12:32:14 UTC 2016 - mrueckert@suse.de - update to 4d981ce ------------------------------------------------------------------- Wed Feb 17 10:38:45 UTC 2016 - mrueckert@suse.de - update to 8893d71 ------------------------------------------------------------------- Tue Feb 16 14:14:38 UTC 2016 - mrueckert@suse.de - update to 71905df ------------------------------------------------------------------- Mon Feb 15 15:18:53 UTC 2016 - mrueckert@suse.de - update to 2af5870 ------------------------------------------------------------------- Mon Feb 15 10:29:49 UTC 2016 - mrueckert@suse.de - update to 482a658 ------------------------------------------------------------------- Sun Feb 14 03:50:01 UTC 2016 - mrueckert@suse.de - update to 2c0b36c ------------------------------------------------------------------- Fri Feb 12 10:40:11 UTC 2016 - mrueckert@suse.de - update to 6478f5d ------------------------------------------------------------------- Fri Feb 12 01:57:13 UTC 2016 - mrueckert@suse.de - update to 86819f0 ------------------------------------------------------------------- Thu Feb 11 11:42:45 UTC 2016 - mrueckert@suse.de - update to 75a78e0 ------------------------------------------------------------------- Thu Feb 11 10:46:47 UTC 2016 - mrueckert@suse.de - update to cad7fc1 ------------------------------------------------------------------- Thu Feb 11 00:54:46 UTC 2016 - mrueckert@suse.de - update to 5120dcf ------------------------------------------------------------------- Wed Feb 10 12:23:04 UTC 2016 - mrueckert@suse.de - update to 510f9c5 ------------------------------------------------------------------- Tue Feb 9 12:52:32 UTC 2016 - mrueckert@suse.de - update to b2ffaa0 ------------------------------------------------------------------- Mon Feb 8 14:38:52 UTC 2016 - mrueckert@suse.de - update to 2ca1449 ------------------------------------------------------------------- Sun Feb 7 14:21:12 UTC 2016 - mrueckert@suse.de - update to b0567f9 ------------------------------------------------------------------- Fri Feb 5 19:25:09 UTC 2016 - mrueckert@suse.de - update to ea0e63b ------------------------------------------------------------------- Fri Feb 5 13:54:59 UTC 2016 - mrueckert@suse.de - update to 0032047 ------------------------------------------------------------------- Thu Feb 4 10:54:17 UTC 2016 - mrueckert@suse.de - update to 03938af ------------------------------------------------------------------- Tue Feb 2 23:51:33 UTC 2016 - mrueckert@suse.de - update to 0d611ed ------------------------------------------------------------------- Tue Feb 2 13:14:17 UTC 2016 - mrueckert@suse.de - update to 49d1f88 ------------------------------------------------------------------- Mon Feb 1 10:26:54 UTC 2016 - mrueckert@suse.de - update to 904e532 ------------------------------------------------------------------- Sun Jan 31 03:56:12 UTC 2016 - mrueckert@suse.de - update to f281f6e ------------------------------------------------------------------- Fri Jan 29 11:44:18 UTC 2016 - mrueckert@suse.de - update to 7d5fdd0 ------------------------------------------------------------------- Fri Jan 29 10:35:23 UTC 2016 - mrueckert@suse.de - update to 32ef138 ------------------------------------------------------------------- Thu Jan 28 13:46:05 UTC 2016 - mrueckert@suse.de - update to b5bc430 ------------------------------------------------------------------- Wed Jan 27 10:57:11 UTC 2016 - mrueckert@suse.de - update to bf650de ------------------------------------------------------------------- Tue Jan 26 18:38:03 UTC 2016 - mrueckert@suse.de - update to 915afa7 ------------------------------------------------------------------- Tue Jan 26 14:22:16 UTC 2016 - mrueckert@suse.de - update to 5b8817c ------------------------------------------------------------------- Mon Jan 25 14:32:57 UTC 2016 - mrueckert@suse.de - update to b91522c ------------------------------------------------------------------- Fri Jan 22 13:39:00 UTC 2016 - mrueckert@suse.de - update to 9569235 ------------------------------------------------------------------- Thu Jan 21 13:00:33 UTC 2016 - mrueckert@suse.de - update to fc83525 ------------------------------------------------------------------- Wed Jan 20 17:07:10 UTC 2016 - mrueckert@suse.de - update to 74b5d06 ------------------------------------------------------------------- Tue Jan 19 16:39:23 UTC 2016 - mrueckert@suse.de - update to 11ea16a ------------------------------------------------------------------- Mon Jan 18 14:17:22 UTC 2016 - mrueckert@suse.de - update to e6c1f1d ------------------------------------------------------------------- Fri Jan 15 20:12:05 UTC 2016 - mrueckert@suse.de - update to 7b755c3 ------------------------------------------------------------------- Fri Jan 15 16:19:00 UTC 2016 - mrueckert@suse.de - update to 825a01c ------------------------------------------------------------------- Thu Jan 14 12:27:39 UTC 2016 - mrueckert@suse.de - update to d2c2979 ------------------------------------------------------------------- Mon Jan 11 19:38:00 UTC 2016 - mrueckert@suse.de - update to 42d05ec ------------------------------------------------------------------- Mon Jan 11 14:30:12 UTC 2016 - mrueckert@suse.de - update to 38c63c2 ------------------------------------------------------------------- Fri Jan 8 22:07:23 UTC 2016 - mrueckert@suse.de - update to 1a223b9 ------------------------------------------------------------------- Thu Jan 7 20:28:06 UTC 2016 - mrueckert@suse.de - update to 8508381 ------------------------------------------------------------------- Wed Jan 6 13:27:35 UTC 2016 - mrueckert@suse.de - update to 57944a0 ------------------------------------------------------------------- Tue Jan 5 13:03:12 UTC 2016 - mrueckert@suse.de - update to 93855db ------------------------------------------------------------------- Tue Jan 5 09:40:57 UTC 2016 - mrueckert@suse.de - update to 16d15a7 ------------------------------------------------------------------- Mon Jan 4 21:48:25 UTC 2016 - mrueckert@suse.de - update to 268e0f3 ------------------------------------------------------------------- Mon Jan 4 20:32:07 UTC 2016 - mrueckert@suse.de - update to c8f90a3 ------------------------------------------------------------------- Mon Jan 4 19:42:32 UTC 2016 - mrueckert@suse.de - update to c7df678 ------------------------------------------------------------------- Mon Jan 4 14:03:04 UTC 2016 - mrueckert@suse.de - update to b847117 ------------------------------------------------------------------- Fri Jan 1 22:38:22 UTC 2016 - mrueckert@suse.de - update to fcf08f3 ------------------------------------------------------------------- Tue Dec 29 22:49:22 UTC 2015 - mrueckert@suse.de - update to 007326d ------------------------------------------------------------------- Tue Dec 29 13:40:19 UTC 2015 - mrueckert@suse.de - update to 0613399 ------------------------------------------------------------------- Sat Dec 26 02:59:33 UTC 2015 - mrueckert@suse.de - update to 3a28baf ------------------------------------------------------------------- Wed Dec 23 12:24:12 UTC 2015 - mrueckert@suse.de - update to 47410f1 ------------------------------------------------------------------- Tue Dec 22 17:01:43 UTC 2015 - mrueckert@suse.de - update to 00342fa ------------------------------------------------------------------- Mon Dec 21 23:41:16 UTC 2015 - mrueckert@suse.de - update to c87fff6 ------------------------------------------------------------------- Sat Dec 19 01:10:25 UTC 2015 - mrueckert@suse.de - update to 8546dcb ------------------------------------------------------------------- Wed Dec 16 01:36:49 UTC 2015 - mrueckert@suse.de - update to 51b2279 ------------------------------------------------------------------- Tue Dec 15 14:45:53 UTC 2015 - mrueckert@suse.de - update to 42a523a ------------------------------------------------------------------- Tue Dec 15 04:01:28 UTC 2015 - mrueckert@suse.de - update to 4be8de2 ------------------------------------------------------------------- Mon Dec 14 16:10:11 UTC 2015 - mrueckert@suse.de - update to f60a537 ------------------------------------------------------------------- Fri Dec 11 15:58:58 UTC 2015 - mrueckert@suse.de - update to ccf5b15 ------------------------------------------------------------------- Fri Dec 11 12:41:52 UTC 2015 - mrueckert@suse.de - update to df19a27 ------------------------------------------------------------------- Thu Dec 10 10:36:50 UTC 2015 - mrueckert@suse.de - update to e2ea0b6 ------------------------------------------------------------------- Wed Dec 9 10:48:16 UTC 2015 - mrueckert@suse.de - update to ccd8865 ------------------------------------------------------------------- Tue Dec 8 13:38:06 UTC 2015 - mrueckert@suse.de - update to e52852d ------------------------------------------------------------------- Tue Dec 8 11:25:03 UTC 2015 - mrueckert@suse.de - update to b09ee9c ------------------------------------------------------------------- Mon Dec 7 12:01:14 UTC 2015 - mrueckert@suse.de - update to 578f606 ------------------------------------------------------------------- Mon Dec 7 11:04:19 UTC 2015 - mrueckert@suse.de - update to fa66878 ------------------------------------------------------------------- Sun Dec 6 23:09:01 UTC 2015 - mrueckert@suse.de - update to 1ef9233 ------------------------------------------------------------------- Fri Dec 4 23:47:44 UTC 2015 - mrueckert@suse.de - added systemd target support ------------------------------------------------------------------- Fri Dec 4 23:29:23 UTC 2015 - mrueckert@suse.de - update to d97b238 ------------------------------------------------------------------- Fri Dec 4 12:59:04 UTC 2015 - mrueckert@suse.de - update to 80cf661 ------------------------------------------------------------------- Thu Dec 3 23:41:23 UTC 2015 - mrueckert@suse.de - update to d84fa69 ------------------------------------------------------------------- Tue Dec 1 14:25:06 UTC 2015 - mrueckert@suse.de - update to a8e69c2 ------------------------------------------------------------------- Tue Dec 1 10:56:07 UTC 2015 - mrueckert@suse.de - update to 5b95942 ------------------------------------------------------------------- Mon Nov 30 00:15:44 UTC 2015 - mrueckert@suse.de - update to 5a78312 ------------------------------------------------------------------- Fri Nov 27 22:11:27 UTC 2015 - mrueckert@suse.de - update to 7181e3c ------------------------------------------------------------------- Thu Nov 26 23:30:51 UTC 2015 - mrueckert@suse.de - update to c8c6034 ------------------------------------------------------------------- Wed Nov 25 23:40:04 UTC 2015 - mrueckert@suse.de - update to 2561b5f ------------------------------------------------------------------- Wed Nov 25 13:12:59 UTC 2015 - mrueckert@suse.de - update to d6932e4 ------------------------------------------------------------------- Wed Nov 25 11:33:31 UTC 2015 - mrueckert@suse.de - update to 3eb0288 ------------------------------------------------------------------- Wed Nov 25 10:46:59 UTC 2015 - mrueckert@suse.de - update to 2eba00a ------------------------------------------------------------------- Tue Nov 24 21:59:23 UTC 2015 - mrueckert@suse.de - update to 434deb1 ------------------------------------------------------------------- Mon Nov 23 22:04:36 UTC 2015 - mrueckert@suse.de - update to e573ea2 ------------------------------------------------------------------- Sun Nov 22 23:07:59 UTC 2015 - mrueckert@suse.de - update to 3053d48 ------------------------------------------------------------------- Sun Nov 22 04:38:23 UTC 2015 - mrueckert@suse.de - update to c70bb0c ------------------------------------------------------------------- Fri Nov 20 23:03:51 UTC 2015 - mrueckert@suse.de - update to d8734fc ------------------------------------------------------------------- Fri Nov 20 21:31:49 UTC 2015 - mrueckert@suse.de - update to 523138f ------------------------------------------------------------------- Fri Nov 20 19:42:26 UTC 2015 - mrueckert@suse.de - update to e82145c ------------------------------------------------------------------- Thu Nov 19 10:50:12 UTC 2015 - mrueckert@suse.de - update to cf389e0 ------------------------------------------------------------------- Tue Nov 17 19:25:48 UTC 2015 - mrueckert@suse.de - update to 41e722b ------------------------------------------------------------------- Tue Nov 17 12:59:43 UTC 2015 - mrueckert@suse.de - update to 4ec29f7 ------------------------------------------------------------------- Tue Nov 17 00:38:29 UTC 2015 - mrueckert@suse.de - clean up comment ------------------------------------------------------------------- Mon Nov 16 10:34:40 UTC 2015 - mrueckert@suse.de - update to a0834d1 ------------------------------------------------------------------- Sun Nov 15 23:39:24 UTC 2015 - mrueckert@suse.de - update to 5234e54 ------------------------------------------------------------------- Sat Nov 14 01:17:37 UTC 2015 - mrueckert@suse.de - update to c3724bd ------------------------------------------------------------------- Thu Nov 12 20:17:25 UTC 2015 - mrueckert@suse.de - update to 6b1cc8d ------------------------------------------------------------------- Thu Nov 12 17:24:21 UTC 2015 - mrueckert@suse.de - update to ea29e1c ------------------------------------------------------------------- Thu Nov 12 16:23:01 UTC 2015 - mrueckert@suse.de - update to de95573 ------------------------------------------------------------------- Tue Nov 10 22:48:36 UTC 2015 - mrueckert@suse.de - update to 42bf815 ------------------------------------------------------------------- Mon Nov 9 14:39:28 UTC 2015 - mrueckert@suse.de - update to 1ac0c97 ------------------------------------------------------------------- Sun Nov 8 14:36:23 UTC 2015 - mrueckert@suse.de - update to 1bcdade ------------------------------------------------------------------- Sat Nov 7 01:01:17 UTC 2015 - mrueckert@suse.de - update to ca50252 ------------------------------------------------------------------- Fri Nov 6 21:23:58 UTC 2015 - mrueckert@suse.de - update to 355215c ------------------------------------------------------------------- Fri Nov 6 20:20:09 UTC 2015 - mrueckert@suse.de - update to cd1b839 ------------------------------------------------------------------- Fri Nov 6 10:35:45 UTC 2015 - mrueckert@suse.de - update to 30eaa0e ------------------------------------------------------------------- Wed Nov 4 18:58:59 UTC 2015 - mrueckert@suse.de - update to ef2f773 ------------------------------------------------------------------- Wed Nov 4 12:21:38 UTC 2015 - mrueckert@suse.de - update to e2121c2 ------------------------------------------------------------------- Tue Nov 3 11:44:02 UTC 2015 - mrueckert@suse.de - update to 688d442 ------------------------------------------------------------------- Mon Nov 2 10:41:47 UTC 2015 - mrueckert@suse.de - update to d0fe4fc ------------------------------------------------------------------- Sun Nov 1 11:57:58 UTC 2015 - mrueckert@suse.de - update to 0d15dbd ------------------------------------------------------------------- Sat Oct 31 01:13:29 UTC 2015 - mrueckert@suse.de - update to 5c0fb34 ------------------------------------------------------------------- Fri Oct 30 19:30:02 UTC 2015 - mrueckert@suse.de - update to eaa31cf ------------------------------------------------------------------- Fri Oct 30 14:34:26 UTC 2015 - mrueckert@suse.de - update to 574805b ------------------------------------------------------------------- Fri Oct 30 01:28:56 UTC 2015 - mrueckert@suse.de - update to 6c6d406 ------------------------------------------------------------------- Wed Oct 28 23:25:09 UTC 2015 - mrueckert@suse.de - update to a9823ab ------------------------------------------------------------------- Thu Oct 22 21:54:33 UTC 2015 - mrueckert@suse.de - update to 7b95f8b ------------------------------------------------------------------- Mon Oct 19 15:34:48 UTC 2015 - mrueckert@suse.de - update to 94b60e6 ------------------------------------------------------------------- Tue Oct 13 16:17:06 UTC 2015 - mrueckert@suse.de - update to 7ceecb0 ------------------------------------------------------------------- Sun Oct 11 22:33:46 UTC 2015 - mrueckert@suse.de - update to b72434d ------------------------------------------------------------------- Thu Oct 8 15:37:41 UTC 2015 - mrueckert@suse.de - update to fa0f731 ------------------------------------------------------------------- Wed Oct 7 18:19:56 UTC 2015 - mrueckert@suse.de - update to 845c33e ------------------------------------------------------------------- Mon Oct 5 22:21:14 UTC 2015 - mrueckert@suse.de - update to af7d51e ------------------------------------------------------------------- Sat Oct 3 08:57:34 UTC 2015 - mrueckert@suse.de - update to 992386b ------------------------------------------------------------------- Wed Sep 30 23:55:27 UTC 2015 - mrueckert@suse.de - update to 9bb7a38 ------------------------------------------------------------------- Wed Sep 30 12:02:01 UTC 2015 - mrueckert@suse.de - update to 0f7aaf5 ------------------------------------------------------------------- Mon Sep 28 14:50:16 UTC 2015 - mrueckert@suse.de - update to 2ca8d08 ------------------------------------------------------------------- Sat Sep 26 01:56:57 UTC 2015 - mrueckert@suse.de - update to 0d69a82 ------------------------------------------------------------------- Fri Sep 25 11:04:54 UTC 2015 - mrueckert@suse.de - update to 57870b9 ------------------------------------------------------------------- Fri Sep 25 09:39:15 UTC 2015 - mrueckert@suse.de - update to 5a297fe ------------------------------------------------------------------- Thu Sep 24 19:08:56 UTC 2015 - mrueckert@suse.de - update to fb62a7c ------------------------------------------------------------------- Thu Sep 24 18:18:16 UTC 2015 - mrueckert@suse.de - update to 0b4cb5c ------------------------------------------------------------------- Thu Sep 24 11:21:36 UTC 2015 - mrueckert@suse.de - update to f29cd5f ------------------------------------------------------------------- Thu Sep 24 00:46:21 UTC 2015 - mrueckert@suse.de - update to 9507573 ------------------------------------------------------------------- Wed Sep 23 15:38:53 UTC 2015 - mrueckert@suse.de - update to dcdf76a ------------------------------------------------------------------- Wed Sep 23 15:14:09 UTC 2015 - mrueckert@suse.de - update to ef0804f ------------------------------------------------------------------- Wed Sep 23 11:44:57 UTC 2015 - mrueckert@suse.de - update to ab5969a ------------------------------------------------------------------- Wed Sep 23 09:45:36 UTC 2015 - mrueckert@suse.de - update to d4f5f01 ------------------------------------------------------------------- Wed Sep 23 00:20:39 UTC 2015 - mrueckert@suse.de - update to bcb070f ------------------------------------------------------------------- Tue Sep 22 16:31:17 UTC 2015 - mrueckert@suse.de - update to 9f89aef ------------------------------------------------------------------- Mon Sep 21 22:22:44 UTC 2015 - mrueckert@suse.de - update to 2ae032c ------------------------------------------------------------------- Mon Sep 21 14:50:57 UTC 2015 - mrueckert@suse.de - update to af7f000 ------------------------------------------------------------------- Mon Sep 21 13:26:53 UTC 2015 - mrueckert@suse.de - update to 16a0623 ------------------------------------------------------------------- Mon Sep 21 00:40:58 UTC 2015 - mrueckert@suse.de - update to f74c21d ------------------------------------------------------------------- Fri Sep 18 17:54:54 UTC 2015 - mrueckert@suse.de - update to 40934e5 ------------------------------------------------------------------- Thu Sep 17 21:57:59 UTC 2015 - mrueckert@suse.de - update to 7468f85 ------------------------------------------------------------------- Wed Sep 16 15:16:43 UTC 2015 - mrueckert@suse.de - update to f427b66 ------------------------------------------------------------------- Wed Sep 16 12:39:26 UTC 2015 - mrueckert@suse.de - update to f2c1dba ------------------------------------------------------------------- Wed Sep 16 10:07:29 UTC 2015 - mrueckert@suse.de - update to 468b04d ------------------------------------------------------------------- Tue Sep 15 21:10:03 UTC 2015 - mrueckert@suse.de - update to 975edce ------------------------------------------------------------------- Tue Sep 15 15:18:11 UTC 2015 - mrueckert@suse.de - update to 72f2454 ------------------------------------------------------------------- Tue Sep 15 14:35:11 UTC 2015 - mrueckert@suse.de - update to 872239f ------------------------------------------------------------------- Tue Sep 15 12:22:44 UTC 2015 - mrueckert@suse.de - update to c46269e ------------------------------------------------------------------- Mon Sep 14 21:46:13 UTC 2015 - mrueckert@suse.de - update to 3a93faf ------------------------------------------------------------------- Thu Sep 10 13:21:06 UTC 2015 - mrueckert@suse.de - update to c5e3be0 ------------------------------------------------------------------- Wed Sep 9 16:04:48 UTC 2015 - mrueckert@suse.de - update to 5b8917e ------------------------------------------------------------------- Wed Sep 9 13:37:15 UTC 2015 - mrueckert@suse.de - update to 3ee5cea ------------------------------------------------------------------- Tue Sep 8 10:16:51 UTC 2015 - mrueckert@suse.de - update to 113cb4d ------------------------------------------------------------------- Mon Sep 7 17:38:45 UTC 2015 - mrueckert@suse.de - update to e37dd5a ------------------------------------------------------------------- Mon Sep 7 17:15:09 UTC 2015 - mrueckert@suse.de - update to d5a2029 ------------------------------------------------------------------- Mon Sep 7 10:02:37 UTC 2015 - mrueckert@suse.de - update to 5dca462 ------------------------------------------------------------------- Sun Sep 6 21:24:37 UTC 2015 - mrueckert@suse.de - update to 3a1c83b ------------------------------------------------------------------- Wed Sep 2 11:24:44 UTC 2015 - mrueckert@suse.de - update to a0dd0bf ------------------------------------------------------------------- Tue Sep 1 17:07:59 UTC 2015 - mrueckert@suse.de - update to da25abf ------------------------------------------------------------------- Mon Aug 31 09:05:18 UTC 2015 - mrueckert@suse.de - update to 9535105 ------------------------------------------------------------------- Mon Aug 31 01:22:18 UTC 2015 - mrueckert@suse.de - update to 82148fc ------------------------------------------------------------------- Fri Aug 28 00:23:13 UTC 2015 - mrueckert@suse.de - update to 71c1ecc ------------------------------------------------------------------- Thu Aug 27 09:32:31 UTC 2015 - mrueckert@suse.de - update to 95c8ec5 ------------------------------------------------------------------- Wed Aug 26 10:23:54 UTC 2015 - mrueckert@suse.de - update to 4d0460f ------------------------------------------------------------------- Tue Aug 25 23:37:27 UTC 2015 - mrueckert@suse.de - update to 01406c6 ------------------------------------------------------------------- Tue Aug 25 10:39:21 UTC 2015 - mrueckert@suse.de - update to 294669c ------------------------------------------------------------------- Mon Aug 24 23:51:40 UTC 2015 - mrueckert@suse.de - update to d74d5c4 ------------------------------------------------------------------- Mon Aug 24 21:01:02 UTC 2015 - mrueckert@suse.de - update to 9c88279 ------------------------------------------------------------------- Mon Aug 24 11:28:21 UTC 2015 - mrueckert@suse.de - update to ca6fcfd ------------------------------------------------------------------- Fri Aug 21 11:18:21 UTC 2015 - mrueckert@suse.de - update to 07d6bb8 ------------------------------------------------------------------- Wed Aug 19 19:47:23 UTC 2015 - mrueckert@suse.de - update to eafeec5 ------------------------------------------------------------------- Tue Aug 18 19:14:53 UTC 2015 - mrueckert@suse.de - update to 707c493 ------------------------------------------------------------------- Tue Aug 18 13:23:32 UTC 2015 - mrueckert@suse.de - update to 1b44924 ------------------------------------------------------------------- Tue Aug 18 11:21:23 UTC 2015 - mrueckert@suse.de - update to 4c2df81 ------------------------------------------------------------------- Sun Aug 16 10:26:53 UTC 2015 - mrueckert@suse.de - update to 90388aa ------------------------------------------------------------------- Sun Aug 16 02:09:44 UTC 2015 - mrueckert@suse.de - update to 8d66ca7 ------------------------------------------------------------------- Sat Aug 15 17:40:32 UTC 2015 - mrueckert@suse.de - update to 62fce63 ------------------------------------------------------------------- Thu Aug 13 15:03:02 UTC 2015 - mrueckert@suse.de - update to 766903c ------------------------------------------------------------------- Wed Aug 12 12:41:40 UTC 2015 - mrueckert@suse.de - update to abf269c ------------------------------------------------------------------- Tue Aug 11 15:40:28 UTC 2015 - mrueckert@suse.de - update to 750a3ce ------------------------------------------------------------------- Mon Aug 10 23:01:00 UTC 2015 - mrueckert@suse.de - update to aa81261 ------------------------------------------------------------------- Mon Aug 10 15:40:53 UTC 2015 - mrueckert@suse.de - update to 1551ba9 ------------------------------------------------------------------- Mon Aug 10 11:13:59 UTC 2015 - mrueckert@suse.de - update to 0f62a7f ------------------------------------------------------------------- Mon Aug 10 09:32:48 UTC 2015 - mrueckert@suse.de - update to 0889f71 ------------------------------------------------------------------- Fri Aug 7 13:47:45 UTC 2015 - mrueckert@suse.de - update to 1a6cbd3 ------------------------------------------------------------------- Wed Aug 5 23:18:17 UTC 2015 - mrueckert@suse.de - update to dbd6099 ------------------------------------------------------------------- Tue Aug 4 11:01:21 UTC 2015 - mrueckert@suse.de - update to 98fa098 ------------------------------------------------------------------- Tue Aug 4 01:19:23 UTC 2015 - mrueckert@suse.de - update to 01ad88f ------------------------------------------------------------------- Fri Jul 31 16:28:37 UTC 2015 - mrueckert@suse.de - update to 29bdaa0 ------------------------------------------------------------------- Fri Jul 31 13:44:37 UTC 2015 - mrueckert@suse.de - update to d7aa4e8 ------------------------------------------------------------------- Mon Jul 27 15:13:07 UTC 2015 - mrueckert@suse.de - update to 46ba4ba ------------------------------------------------------------------- Mon Jul 27 12:52:17 UTC 2015 - mrueckert@suse.de - update to 326b281 ------------------------------------------------------------------- Sun Jul 26 22:18:26 UTC 2015 - mrueckert@suse.de - update to 68a262f ------------------------------------------------------------------- Sun Jul 26 01:36:52 UTC 2015 - mrueckert@suse.de - update to d2b59bf ------------------------------------------------------------------- Thu Jul 23 14:15:14 UTC 2015 - mrueckert@suse.de - update to 410ae47 ------------------------------------------------------------------- Wed Jul 22 22:54:46 UTC 2015 - mrueckert@suse.de - update to d46bf24 ------------------------------------------------------------------- Wed Jul 22 18:33:12 UTC 2015 - mrueckert@suse.de - update to bf7875e ------------------------------------------------------------------- Wed Jul 22 13:00:17 UTC 2015 - mrueckert@suse.de - update to ccdcca5 ------------------------------------------------------------------- Tue Jul 21 13:46:38 UTC 2015 - mrueckert@suse.de - update to 04e9fdc ------------------------------------------------------------------- Mon Jul 20 11:34:16 UTC 2015 - mrueckert@suse.de - update to 45e37d5 ------------------------------------------------------------------- Sat Jul 18 01:57:37 UTC 2015 - mrueckert@suse.de - update to a23a04a ------------------------------------------------------------------- Fri Jul 17 17:51:41 UTC 2015 - mrueckert@suse.de - update to 5e38512 ------------------------------------------------------------------- Thu Jul 16 23:58:32 UTC 2015 - mrueckert@suse.de - update to ee86ae0 ------------------------------------------------------------------- Thu Jul 16 07:06:58 UTC 2015 - mrueckert@suse.de - update to 35e1b52 ------------------------------------------------------------------- Wed Jul 15 07:38:52 UTC 2015 - mrueckert@suse.de - update to 00aaa69 ------------------------------------------------------------------- Wed Jul 15 06:43:41 UTC 2015 - mrueckert@suse.de - update to 7a1694f ------------------------------------------------------------------- Tue Jul 14 09:02:27 UTC 2015 - mrueckert@suse.de - update to d87c808 ------------------------------------------------------------------- Mon Jul 13 22:30:42 UTC 2015 - mrueckert@suse.de - update to 20a3383 ------------------------------------------------------------------- Fri Jul 3 22:01:03 UTC 2015 - mrueckert@suse.de - update to bcbf538 ------------------------------------------------------------------- Thu Jul 2 19:38:08 UTC 2015 - mrueckert@suse.de - update to 2d2e2b9 ------------------------------------------------------------------- Thu Jul 2 13:28:31 UTC 2015 - mrueckert@suse.de - update to 0e74c46 ------------------------------------------------------------------- Thu Jul 2 12:41:19 UTC 2015 - mrueckert@suse.de - update to 030dc7e ------------------------------------------------------------------- Tue Jun 30 20:20:21 UTC 2015 - mrueckert@suse.de - update to 0b9ea43 ------------------------------------------------------------------- Tue Jun 30 14:20:44 UTC 2015 - mrueckert@suse.de - update to 023ea6c ------------------------------------------------------------------- Mon Jun 29 20:24:36 UTC 2015 - mrueckert@suse.de - update to a6d0e4b ------------------------------------------------------------------- Mon Jun 29 14:12:45 UTC 2015 - mrueckert@suse.de - update to b9add46 ------------------------------------------------------------------- Sun Jun 28 12:29:53 UTC 2015 - mrueckert@suse.de - update to 0c40327 ------------------------------------------------------------------- Sat Jun 27 19:55:20 UTC 2015 - mrueckert@suse.de - update to e04d66a ------------------------------------------------------------------- Fri Jun 26 20:24:59 UTC 2015 - mrueckert@suse.de - update to 7dbc259 ------------------------------------------------------------------- Fri Jun 26 09:33:00 UTC 2015 - mrueckert@suse.de - update to d818f7a ------------------------------------------------------------------- Fri Jun 26 07:54:47 UTC 2015 - mrueckert@suse.de - update to bca9191 ------------------------------------------------------------------- Thu Jun 25 10:24:51 UTC 2015 - mrueckert@suse.de - update to 1edb591 ------------------------------------------------------------------- Wed Jun 24 23:15:25 UTC 2015 - mrueckert@suse.de - update to a526e76 ------------------------------------------------------------------- Sat Jun 20 14:25:31 UTC 2015 - mrueckert@suse.de - update to ca42d00 ------------------------------------------------------------------- Fri Jun 19 14:47:01 UTC 2015 - mrueckert@suse.de - update to 00572c4 ------------------------------------------------------------------- Fri Jun 19 13:15:42 UTC 2015 - mrueckert@suse.de - update to d12de36 ------------------------------------------------------------------- Thu Jun 18 10:16:39 UTC 2015 - mrueckert@suse.de - update to f0c74d7 ------------------------------------------------------------------- Wed Jun 17 16:21:27 UTC 2015 - mrueckert@suse.de - update to 3db7436 ------------------------------------------------------------------- Wed Jun 17 13:50:10 UTC 2015 - mrueckert@suse.de - update to 56b9528 ------------------------------------------------------------------- Wed Jun 17 10:37:01 UTC 2015 - mrueckert@suse.de - update to 1aa7cf8 ------------------------------------------------------------------- Sun Jun 14 16:07:26 UTC 2015 - mrueckert@suse.de - update to 04288c1 ------------------------------------------------------------------- Fri Jun 12 10:46:03 UTC 2015 - mrueckert@suse.de - update to 34a0389 ------------------------------------------------------------------- Fri Jun 12 09:59:17 UTC 2015 - mrueckert@suse.de - update to 74e825f ------------------------------------------------------------------- Wed Jun 10 01:18:56 UTC 2015 - mrueckert@suse.de - update to ae277e2 ------------------------------------------------------------------- Tue Jun 9 18:19:12 UTC 2015 - mrueckert@suse.de - update to 90eca69 ------------------------------------------------------------------- Tue Jun 9 13:31:17 UTC 2015 - mrueckert@suse.de - update to e3f31da ------------------------------------------------------------------- Fri Jun 5 18:29:32 UTC 2015 - mrueckert@suse.de - update to a09d893 ------------------------------------------------------------------- Thu Jun 4 21:24:28 UTC 2015 - mrueckert@suse.de - update to f1637fc ------------------------------------------------------------------- Wed Jun 3 22:06:42 UTC 2015 - mrueckert@suse.de - update to 1151b01 ------------------------------------------------------------------- Tue Jun 2 11:37:04 UTC 2015 - mrueckert@suse.de - update to fa963e8 ------------------------------------------------------------------- Mon Jun 1 22:33:08 UTC 2015 - mrueckert@suse.de - update to 5735f3b ------------------------------------------------------------------- Mon Jun 1 16:42:30 UTC 2015 - mrueckert@suse.de - update to 72f7c26 ------------------------------------------------------------------- Mon Jun 1 09:38:51 UTC 2015 - mrueckert@suse.de - update to cbc470b ------------------------------------------------------------------- Mon Jun 1 00:55:24 UTC 2015 - mrueckert@suse.de - update to e483176 ------------------------------------------------------------------- Fri May 29 10:06:36 UTC 2015 - mrueckert@suse.de - update to 555b5cb ------------------------------------------------------------------- Thu May 28 22:14:03 UTC 2015 - mrueckert@suse.de - update to fe18bdb ------------------------------------------------------------------- Thu May 28 14:08:27 UTC 2015 - mrueckert@suse.de - update to 6e8be12 ------------------------------------------------------------------- Wed May 27 22:23:03 UTC 2015 - mrueckert@suse.de - update to ea8cf1a ------------------------------------------------------------------- Wed May 27 20:34:55 UTC 2015 - mrueckert@suse.de - update to 23eadc3 ------------------------------------------------------------------- Wed May 27 18:21:43 UTC 2015 - mrueckert@suse.de - update to 5890dae ------------------------------------------------------------------- Wed May 27 09:51:09 UTC 2015 - mrueckert@suse.de - update to 5de9554 ------------------------------------------------------------------- Tue May 26 23:54:16 UTC 2015 - mrueckert@suse.de - update to 61e9679 ------------------------------------------------------------------- Tue May 26 17:23:47 UTC 2015 - mrueckert@suse.de - update to 364437d ------------------------------------------------------------------- Tue May 26 15:37:11 UTC 2015 - mrueckert@suse.de - update to d36916c ------------------------------------------------------------------- Tue May 26 15:04:51 UTC 2015 - mrueckert@suse.de - update to 39e7a32 ------------------------------------------------------------------- Mon May 25 23:47:30 UTC 2015 - mrueckert@suse.de - update to b9c7e3b ------------------------------------------------------------------- Mon May 25 20:29:54 UTC 2015 - mrueckert@suse.de - update to eaa1afe ------------------------------------------------------------------- Fri May 22 19:01:32 UTC 2015 - mrueckert@suse.de - update to 3677c56 ------------------------------------------------------------------- Thu May 21 10:20:25 UTC 2015 - mrueckert@suse.de - update to 358f5ca ------------------------------------------------------------------- Wed May 20 21:38:26 UTC 2015 - mrueckert@suse.de - update to 2b208db ------------------------------------------------------------------- Wed May 20 14:54:39 UTC 2015 - mrueckert@suse.de - update to c91634c ------------------------------------------------------------------- Wed May 20 14:06:02 UTC 2015 - mrueckert@suse.de - update to 3859273 ------------------------------------------------------------------- Tue May 19 22:36:15 UTC 2015 - mrueckert@suse.de - update to 00bf7a8 ------------------------------------------------------------------- Mon May 18 16:20:20 UTC 2015 - mrueckert@suse.de - update to 3f7d693 ------------------------------------------------------------------- Sat May 16 20:19:27 UTC 2015 - mrueckert@suse.de - update to 7ab8827 ------------------------------------------------------------------- Fri May 15 17:47:57 UTC 2015 - mrueckert@suse.de - update to 94ca9ed ------------------------------------------------------------------- Fri May 15 12:52:20 UTC 2015 - mrueckert@suse.de - update to 764f9b4 ------------------------------------------------------------------- Fri May 15 12:28:27 UTC 2015 - mrueckert@suse.de - update to d4974b7 ------------------------------------------------------------------- Fri May 15 02:20:18 UTC 2015 - mrueckert@suse.de - update to 2955507 ------------------------------------------------------------------- Fri May 15 01:03:31 UTC 2015 - mrueckert@suse.de - update to cb09c0d ------------------------------------------------------------------- Thu May 14 18:34:58 UTC 2015 - mrueckert@suse.de - update to 4451c88 ------------------------------------------------------------------- Thu May 14 15:23:32 UTC 2015 - mrueckert@suse.de - update to 635b31a ------------------------------------------------------------------- Thu May 14 11:28:57 UTC 2015 - mrueckert@suse.de - update to 0b62730 ------------------------------------------------------------------- Thu May 14 02:55:39 UTC 2015 - mrueckert@suse.de - update to 1eeed5f ------------------------------------------------------------------- Wed May 13 14:55:53 UTC 2015 - mrueckert@suse.de - update to d90e0fe ------------------------------------------------------------------- Wed May 13 09:47:08 UTC 2015 - mrueckert@suse.de - update to 8362993 ------------------------------------------------------------------- Tue May 12 21:47:42 UTC 2015 - mrueckert@suse.de - update to 1c5ea5d ------------------------------------------------------------------- Tue May 12 15:01:28 UTC 2015 - mrueckert@suse.de - update to 7a6aab2 ------------------------------------------------------------------- Tue May 12 11:29:08 UTC 2015 - mrueckert@suse.de - update to ff227ea ------------------------------------------------------------------- Tue May 12 10:37:32 UTC 2015 - mrueckert@suse.de - update to ab80240 ------------------------------------------------------------------- Mon May 11 22:48:03 UTC 2015 - mrueckert@suse.de - update to 5ef6411 ------------------------------------------------------------------- Mon May 11 19:07:35 UTC 2015 - mrueckert@suse.de - update to 3a9907f ------------------------------------------------------------------- Mon May 11 17:39:45 UTC 2015 - mrueckert@suse.de - update to d337da5 ------------------------------------------------------------------- Mon May 11 16:01:22 UTC 2015 - mrueckert@suse.de - update to b6357e4 ------------------------------------------------------------------- Mon May 11 12:59:15 UTC 2015 - mrueckert@suse.de - update to ca89d16 ------------------------------------------------------------------- Sat May 9 11:48:25 UTC 2015 - mrueckert@suse.de - update to 8c28838 ------------------------------------------------------------------- Sat May 9 03:14:55 UTC 2015 - mrueckert@suse.de - update to f355579 ------------------------------------------------------------------- Fri May 8 15:32:22 UTC 2015 - mrueckert@suse.de - update to 4da6124 ------------------------------------------------------------------- Thu May 7 12:16:53 UTC 2015 - mrueckert@suse.de - update to 8a3a024 ------------------------------------------------------------------- Wed May 6 18:30:19 UTC 2015 - mrueckert@suse.de - update to c89bef2 - updated rpmlintrc to cover all things we wont change anything files-duplicate non-etc-or-var-file-marked-as-conffile hidden-file-or-dir zero-length version-control-internal-file no-manual-page-for-binary ------------------------------------------------------------------- Tue May 5 20:43:22 UTC 2015 - mrueckert@suse.de - update to 2d3a090 ------------------------------------------------------------------- Sun May 3 23:15:38 UTC 2015 - mrueckert@suse.de - update to 0a06211 ------------------------------------------------------------------- Fri May 1 23:12:52 UTC 2015 - mrueckert@suse.de - update to 2ead293 ------------------------------------------------------------------- Tue Apr 28 10:32:38 UTC 2015 - mrueckert@suse.de - update to 4eaee8f ------------------------------------------------------------------- Mon Apr 27 16:19:45 UTC 2015 - mrueckert@suse.de - update to 19a89bb ------------------------------------------------------------------- Sat Apr 25 22:49:07 UTC 2015 - mrueckert@suse.de - update to 1027059 ------------------------------------------------------------------- Sat Apr 25 03:53:26 UTC 2015 - mrueckert@suse.de - update to 151b559 ------------------------------------------------------------------- Fri Apr 24 14:55:05 UTC 2015 - mrueckert@suse.de - update to 2562b61 ------------------------------------------------------------------- Fri Apr 24 09:21:53 UTC 2015 - mrueckert@suse.de - update to be5a76f ------------------------------------------------------------------- Thu Apr 23 22:34:10 UTC 2015 - mrueckert@suse.de - update to 923c164 ------------------------------------------------------------------- Thu Apr 23 19:32:29 UTC 2015 - mrueckert@suse.de - update to e17ea2e ------------------------------------------------------------------- Thu Apr 23 15:05:23 UTC 2015 - mrueckert@suse.de - update to 9bce812 ------------------------------------------------------------------- Thu Apr 23 13:11:59 UTC 2015 - mrueckert@suse.de - update to fcbfbf2 ------------------------------------------------------------------- Wed Apr 22 20:53:39 UTC 2015 - mrueckert@suse.de - update to 388f51e ------------------------------------------------------------------- Wed Apr 22 20:21:49 UTC 2015 - mrueckert@suse.de - update to 5c7d6e0 ------------------------------------------------------------------- Wed Apr 22 18:37:10 UTC 2015 - mrueckert@suse.de - update to 8394162 ------------------------------------------------------------------- Wed Apr 22 09:40:44 UTC 2015 - mrueckert@suse.de - update to c4e813c ------------------------------------------------------------------- Tue Apr 21 23:00:29 UTC 2015 - mrueckert@suse.de - update to 405edeb ------------------------------------------------------------------- Tue Apr 21 19:01:34 UTC 2015 - mrueckert@suse.de - update to 26693c1 ------------------------------------------------------------------- Mon Apr 20 23:08:02 UTC 2015 - mrueckert@suse.de - update to 2cdd967 ------------------------------------------------------------------- Mon Apr 20 15:43:57 UTC 2015 - mrueckert@suse.de - update to 3071650 ------------------------------------------------------------------- Mon Apr 20 09:38:52 UTC 2015 - mrueckert@suse.de - update to a3b6e3c ------------------------------------------------------------------- Sat Apr 18 02:16:12 UTC 2015 - mrueckert@suse.de - update to d16df04 ------------------------------------------------------------------- Fri Apr 17 21:56:57 UTC 2015 - mrueckert@suse.de - update to 13de577 ------------------------------------------------------------------- Fri Apr 17 00:27:03 UTC 2015 - mrueckert@suse.de - update to 788b66e ------------------------------------------------------------------- Thu Apr 16 12:46:01 UTC 2015 - mrueckert@suse.de - update to 295eebd ------------------------------------------------------------------- Thu Apr 16 01:54:57 UTC 2015 - mrueckert@suse.de - update to 4919ec4 ------------------------------------------------------------------- Tue Apr 14 19:18:47 UTC 2015 - mrueckert@suse.de - update to 32e0241 ------------------------------------------------------------------- Tue Apr 14 12:37:23 UTC 2015 - mrueckert@suse.de - update to f996b77 ------------------------------------------------------------------- Mon Apr 13 19:18:14 UTC 2015 - mrueckert@suse.de - update to 334f89c ------------------------------------------------------------------- Mon Apr 13 16:08:13 UTC 2015 - mrueckert@suse.de - update to db4c04d ------------------------------------------------------------------- Mon Apr 13 09:48:33 UTC 2015 - mrueckert@suse.de - update to 627bd08 ------------------------------------------------------------------- Fri Apr 10 18:47:28 UTC 2015 - mrueckert@suse.de - update to 0ba2ac9 ------------------------------------------------------------------- Wed Apr 8 20:01:59 UTC 2015 - mrueckert@suse.de - update to ea87212 ------------------------------------------------------------------- Tue Apr 7 19:23:09 UTC 2015 - mrueckert@suse.de - update to 6398cd8 ------------------------------------------------------------------- Tue Apr 7 19:15:46 UTC 2015 - mrueckert@suse.de - no longer require postgresql or redis, those can run potentially on different machine. we still hook onto them with After= to make sure we are started after them if they do run locally. ------------------------------------------------------------------- Tue Apr 7 19:14:32 UTC 2015 - mrueckert@suse.de - call systemctl daemon-reload to notify it about potentially changed service files ------------------------------------------------------------------- Mon Apr 6 22:08:33 UTC 2015 - mrueckert@suse.de - update to ee3442e ------------------------------------------------------------------- Mon Apr 6 13:20:27 UTC 2015 - mrueckert@suse.de - update to 1fd5063 ------------------------------------------------------------------- Sat Apr 4 21:55:39 UTC 2015 - mrueckert@suse.de - update to 0e6c545 ------------------------------------------------------------------- Fri Apr 3 22:11:43 UTC 2015 - mrueckert@suse.de - update to 6f63f4f ------------------------------------------------------------------- Fri Apr 3 18:42:07 UTC 2015 - mrueckert@suse.de - call puma with bundler ------------------------------------------------------------------- Fri Apr 3 16:51:24 UTC 2015 - mrueckert@suse.de - update to 5828ba5 ------------------------------------------------------------------- Fri Apr 3 13:36:04 UTC 2015 - mrueckert@suse.de - update to a3a6aa9 ------------------------------------------------------------------- Thu Apr 2 23:53:18 UTC 2015 - mrueckert@suse.de - update to 51a9bc0 ------------------------------------------------------------------- Thu Apr 2 10:35:12 UTC 2015 - mrueckert@suse.de - update to a51cb6c ------------------------------------------------------------------- Thu Apr 2 00:14:42 UTC 2015 - mrueckert@suse.de - update to a764840 ------------------------------------------------------------------- Wed Apr 1 16:52:25 UTC 2015 - mrueckert@suse.de - rails 4.1.9 ------------------------------------------------------------------- Wed Apr 1 16:45:42 UTC 2015 - mrueckert@suse.de - update to 0f4a465 ------------------------------------------------------------------- Wed Apr 1 12:53:50 UTC 2015 - mrueckert@suse.de - update to eec1921 ------------------------------------------------------------------- Wed Apr 1 01:16:13 UTC 2015 - mrueckert@suse.de - update to 3d0c03b ------------------------------------------------------------------- Mon Mar 30 18:57:14 UTC 2015 - mrueckert@suse.de - sync app spec files ------------------------------------------------------------------- Mon Mar 30 18:26:54 UTC 2015 - mrueckert@suse.de - update to 5f8bd16 ------------------------------------------------------------------- Sun Mar 29 06:16:19 UTC 2015 - mrueckert@suse.de - update to 260b94e ------------------------------------------------------------------- Wed Mar 25 22:09:33 UTC 2015 - mrueckert@suse.de - update to b4b505d ------------------------------------------------------------------- Wed Mar 25 18:39:38 UTC 2015 - mrueckert@suse.de - update to fae489b ------------------------------------------------------------------- Fri Mar 20 00:23:59 UTC 2015 - mrueckert@suse.de - update to 640a92c ------------------------------------------------------------------- Tue Mar 17 20:51:37 UTC 2015 - mrueckert@suse.de - update to 56e01a7 ------------------------------------------------------------------- Tue Mar 17 00:44:04 UTC 2015 - mrueckert@suse.de - make the scripts and service files use the 2.2 versioned binaries ------------------------------------------------------------------- Mon Mar 16 23:56:22 UTC 2015 - mrueckert@suse.de - drop unicorn dep also in gemfile ------------------------------------------------------------------- Mon Mar 16 22:35:03 UTC 2015 - mrueckert@suse.de - use ruby 2.2 ------------------------------------------------------------------- Mon Mar 16 22:34:17 UTC 2015 - mrueckert@suse.de - drop unicorn requires ------------------------------------------------------------------- Sat Mar 14 04:39:15 UTC 2015 - mrueckert@suse.de - update to 4787e73 ------------------------------------------------------------------- Mon Mar 9 10:28:15 UTC 2015 - mrueckert@suse.de - update to 5b1ee3f ------------------------------------------------------------------- Sun Mar 8 23:49:43 UTC 2015 - mrueckert@suse.de - update to 4c41832 ------------------------------------------------------------------- Fri Mar 6 15:04:57 UTC 2015 - mrueckert@suse.de - update to ea1cd8d ------------------------------------------------------------------- Sun Feb 22 11:40:29 UTC 2015 - mrueckert@suse.de - update to a2d9e4c ------------------------------------------------------------------- Thu Feb 19 01:24:55 UTC 2015 - mrueckert@suse.de - update to 59a28bf ------------------------------------------------------------------- Mon Feb 16 13:25:59 UTC 2015 - mrueckert@suse.de - fix dependencies: - add 6to5 - move from fastimage to fastimage_discourse ------------------------------------------------------------------- Mon Feb 16 11:17:26 UTC 2015 - mrueckert@suse.de - update to 0b45054 ------------------------------------------------------------------- Mon Jan 19 16:27:04 UTC 2015 - mrueckert@suse.de - update to 2ae3ebc ------------------------------------------------------------------- Thu Jan 15 18:37:15 UTC 2015 - mrueckert@suse.de - update to 20d2908 ------------------------------------------------------------------- Thu Jan 15 17:00:04 UTC 2015 - mrueckert@suse.de - update to beea92a ------------------------------------------------------------------- Fri Jan 9 03:44:36 UTC 2015 - mrueckert@suse.de - update to 625c920 ------------------------------------------------------------------- Wed Jan 7 22:26:50 UTC 2015 - mrueckert@suse.de - update to c02a31d ------------------------------------------------------------------- Thu Dec 25 01:51:17 UTC 2014 - mrueckert@suse.de - update to 4dd7610 ------------------------------------------------------------------- Wed Dec 17 16:58:39 UTC 2014 - mrueckert@suse.de - use ember-source 1.9.0 ------------------------------------------------------------------- Wed Dec 17 16:53:11 UTC 2014 - mrueckert@suse.de - update to 01904c6 ------------------------------------------------------------------- Tue Dec 16 16:37:32 UTC 2014 - mrueckert@suse.de - update to 42fb498 ------------------------------------------------------------------- Mon Dec 15 17:21:46 UTC 2014 - mrueckert@suse.de - update to b1bc474 ------------------------------------------------------------------- Mon Dec 8 01:59:17 UTC 2014 - mrueckert@suse.de - update to abf6871 ------------------------------------------------------------------- Sat Dec 6 01:48:31 UTC 2014 - mrueckert@suse.de - update to da4e19a ------------------------------------------------------------------- Fri Dec 5 11:23:32 UTC 2014 - mrueckert@suse.de - update to 968064c ------------------------------------------------------------------- Mon Dec 1 11:30:44 UTC 2014 - mrueckert@suse.de - update to a3a04e0 ------------------------------------------------------------------- Fri Nov 28 15:05:31 UTC 2014 - mrueckert@suse.de - update to a85a3da ------------------------------------------------------------------- Mon Nov 24 21:16:28 UTC 2014 - mrueckert@suse.de - update to d3510bf ------------------------------------------------------------------- Mon Nov 24 19:25:50 UTC 2014 - mrueckert@suse.de - update to 7b0ae70 ------------------------------------------------------------------- Mon Nov 24 09:21:37 UTC 2014 - mrueckert@suse.de - update to 0111cb4 ------------------------------------------------------------------- Fri Nov 21 14:39:11 UTC 2014 - mrueckert@suse.de - update to 0847cb5 ------------------------------------------------------------------- Thu Nov 20 12:21:43 UTC 2014 - mrueckert@suse.de - update to 73041c0 ------------------------------------------------------------------- Thu Nov 20 02:40:33 UTC 2014 - mrueckert@suse.de - update to 98e8523 ------------------------------------------------------------------- Wed Nov 19 18:06:37 UTC 2014 - mrueckert@suse.de - update to bb5be56 ------------------------------------------------------------------- Fri Nov 7 10:44:39 UTC 2014 - mrueckert@suse.de - update to 067f552 ------------------------------------------------------------------- Fri Oct 31 12:42:25 UTC 2014 - mrueckert@suse.de - update to 22525ff ------------------------------------------------------------------- Thu Oct 30 17:58:28 UTC 2014 - mrueckert@suse.de - update to 212b593 ------------------------------------------------------------------- Wed Oct 29 14:24:15 UTC 2014 - mrueckert@suse.de - update to 44b7082 ------------------------------------------------------------------- Tue Oct 28 12:56:37 UTC 2014 - mrueckert@suse.de - update to ad46a49 ------------------------------------------------------------------- Fri Oct 24 13:59:55 UTC 2014 - mrueckert@suse.de - change abi variable ------------------------------------------------------------------- Fri Oct 24 13:01:53 UTC 2014 - mrueckert@suse.de - update to da3275e ------------------------------------------------------------------- Wed Oct 22 18:25:40 UTC 2014 - mrueckert@suse.de - update to de415b8 ------------------------------------------------------------------- Wed Oct 22 00:48:57 UTC 2014 - mrueckert@suse.de - update to 0e3c06c ------------------------------------------------------------------- Tue Oct 21 13:24:14 UTC 2014 - mrueckert@suse.de - update to d501f00 ------------------------------------------------------------------- Mon Oct 20 14:37:28 UTC 2014 - mrueckert@suse.de - update to 29b2788 ------------------------------------------------------------------- Mon Oct 20 09:00:35 UTC 2014 - mrueckert@suse.de - update to 736dd6c ------------------------------------------------------------------- Mon Oct 20 00:36:17 UTC 2014 - mrueckert@suse.de - update to 6e0b5f7 ------------------------------------------------------------------- Sat Oct 18 18:10:36 UTC 2014 - mrueckert@suse.de - update to 37dd05a ------------------------------------------------------------------- Sat Oct 18 14:46:22 UTC 2014 - mrueckert@suse.de - update to b77f7ce ------------------------------------------------------------------- Fri Oct 17 13:37:58 UTC 2014 - mrueckert@suse.de - remove dead link ------------------------------------------------------------------- Fri Oct 17 13:16:37 UTC 2014 - mrueckert@suse.de - update to 10db8f2 ------------------------------------------------------------------- Wed Oct 15 10:03:04 UTC 2014 - mrueckert@suse.de - update to a34ed4d ------------------------------------------------------------------- Tue Oct 14 14:36:43 UTC 2014 - mrueckert@suse.de - update to b8c526c ------------------------------------------------------------------- Mon Oct 13 11:39:05 UTC 2014 - mrueckert@suse.de - update to 3a57199 ------------------------------------------------------------------- Fri Oct 10 15:51:23 UTC 2014 - mrueckert@suse.de - update to d3b268c ------------------------------------------------------------------- Thu Oct 9 21:50:45 UTC 2014 - mrueckert@suse.de - update to c1b8943 ------------------------------------------------------------------- Thu Oct 9 13:34:11 UTC 2014 - mrueckert@suse.de - update to f834a5f ------------------------------------------------------------------- Wed Oct 8 21:23:28 UTC 2014 - mrueckert@suse.de - update to d03e811 ------------------------------------------------------------------- Wed Oct 8 02:09:40 UTC 2014 - mrueckert@suse.de - update to 7ef2f48 ------------------------------------------------------------------- Tue Oct 7 16:03:32 UTC 2014 - mrueckert@suse.de - update to 305830e ------------------------------------------------------------------- Tue Oct 7 10:55:58 UTC 2014 - mrueckert@suse.de - update to c46b9c0 ------------------------------------------------------------------- Mon Oct 6 22:22:17 UTC 2014 - mrueckert@suse.de - update to e383a8a ------------------------------------------------------------------- Sat Oct 4 20:14:10 UTC 2014 - mrueckert@suse.de - update to fa830c8 ------------------------------------------------------------------- Thu Oct 2 01:53:47 UTC 2014 - mrueckert@suse.de - update to ffae492 ------------------------------------------------------------------- Tue Sep 30 10:06:22 UTC 2014 - mrueckert@suse.de - update to 872d8fc ------------------------------------------------------------------- Sat Sep 27 15:39:21 UTC 2014 - mrueckert@suse.de - update to d0fb8bb ------------------------------------------------------------------- Sat Sep 27 15:35:09 UTC 2014 - mrueckert@suse.de - drop the discourse-sidekiq script and replaced it with a service file - added unit file for discourse-unicorn - extracted the extensions loading parts from the migrations into %{_datadir}/doc/packges/%{name}/discourse.setup.extensions.sql ------------------------------------------------------------------- Fri Sep 26 10:08:04 UTC 2014 - mrueckert@suse.de - update to 8d75ab6 ------------------------------------------------------------------- Tue Sep 9 00:50:42 UTC 2014 - mrueckert@suse.de - update to 4f8dfd8 ------------------------------------------------------------------- Fri Sep 5 19:23:16 UTC 2014 - mrueckert@suse.de - update to 6650119 ------------------------------------------------------------------- Fri Sep 5 17:43:52 UTC 2014 - mrueckert@suse.de - package all lock files ------------------------------------------------------------------- Fri Sep 5 17:43:30 UTC 2014 - mrueckert@suse.de - refresh patch ------------------------------------------------------------------- Fri Sep 5 16:37:48 UTC 2014 - mrueckert@suse.de - update to ca5f361 ------------------------------------------------------------------- Thu Sep 4 13:36:29 UTC 2014 - mrueckert@suse.de - update to a3863b5 ------------------------------------------------------------------- Wed Sep 3 14:44:06 UTC 2014 - mrueckert@suse.de - update to 6489c1d ------------------------------------------------------------------- Tue Sep 2 09:54:48 UTC 2014 - mrueckert@suse.de - update to 3ebc672 ------------------------------------------------------------------- Mon Sep 1 16:39:03 UTC 2014 - mrueckert@suse.de - update to 03a7b01 ------------------------------------------------------------------- Thu Aug 28 11:38:36 UTC 2014 - mrueckert@suse.de - update to a124404 ------------------------------------------------------------------- Wed Aug 27 15:20:48 UTC 2014 - mrueckert@suse.de - version is now 1.0.0 ------------------------------------------------------------------- Wed Aug 27 14:41:40 UTC 2014 - mrueckert@suse.de - update to 009dc7d ------------------------------------------------------------------- Tue Aug 26 16:21:41 UTC 2014 - mrueckert@suse.de - update to ec04802 ------------------------------------------------------------------- Mon Aug 25 17:49:13 UTC 2014 - mrueckert@suse.de - update to 0fba445 ------------------------------------------------------------------- Mon Aug 25 10:36:00 UTC 2014 - mrueckert@suse.de - update to 9b86d15 ------------------------------------------------------------------- Mon Aug 18 10:54:14 UTC 2014 - mrueckert@suse.de - update to 625c3e2 ------------------------------------------------------------------- Mon Aug 18 10:23:37 UTC 2014 - mrueckert@suse.de - update to efb8dec ------------------------------------------------------------------- Wed Aug 6 13:48:03 UTC 2014 - mrueckert@suse.de - update to 562d2e0 ------------------------------------------------------------------- Wed Aug 6 09:44:32 UTC 2014 - mrueckert@suse.de - update to 33eca10 ------------------------------------------------------------------- Tue Aug 5 13:50:14 UTC 2014 - mrueckert@suse.de - added discourse-update a simple script to do the following things: cleanup and recompile assets, do db migrations ------------------------------------------------------------------- Tue Aug 5 09:29:33 UTC 2014 - mrueckert@suse.de - update to b11b5cb ------------------------------------------------------------------- Mon Aug 4 16:42:35 UTC 2014 - mrueckert@suse.de - update to 925a15c ------------------------------------------------------------------- Mon Aug 4 09:38:01 UTC 2014 - mrueckert@suse.de - update to cb0ecd9 ------------------------------------------------------------------- Fri Aug 1 13:48:38 UTC 2014 - mrueckert@suse.de - update to aec9d59 ------------------------------------------------------------------- Thu Jul 31 15:35:23 UTC 2014 - mrueckert@suse.de - update to 3b46b5e ------------------------------------------------------------------- Thu Jul 31 13:25:39 UTC 2014 - mrueckert@suse.de - update to 5a8919e ------------------------------------------------------------------- Tue Jul 29 14:54:41 UTC 2014 - mrueckert@suse.de - update to fc22127 ------------------------------------------------------------------- Tue Jul 29 12:59:02 UTC 2014 - mrueckert@suse.de - update to 5bd1dbd ------------------------------------------------------------------- Mon Jul 28 15:40:06 UTC 2014 - mrueckert@suse.de - update to 91f08ad ------------------------------------------------------------------- Mon Jul 28 15:28:52 UTC 2014 - mrueckert@suse.de - update to 1e20218 - require imagemagick and not buildrequires ------------------------------------------------------------------- Mon Jul 28 13:24:27 UTC 2014 - mrueckert@suse.de - buildrequire imagemagick. needed for image uploads ------------------------------------------------------------------- Mon Jul 28 13:24:17 UTC 2014 - mrueckert@suse.de - update to f7c7d38 ------------------------------------------------------------------- Fri Jul 25 16:23:40 UTC 2014 - mrueckert@suse.de - update to e940723 - in %build we now run bundler to see if our deps are working - drop dep on rack-cors as upstream dropped it - added discourse.fix.deps.patch: - allow a newer version of ember-source - disable airbrake - disable test/development sections ------------------------------------------------------------------- Mon Jul 21 22:48:05 UTC 2014 - mrueckert@suse.de - initial packge
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor