BUG FIXES
- Make reviewable claiming work with deleted topics (#9040)
- Sync Ember and non-Ember layouts (#9028)
- Ensures topic count is correctly showing in box category badges (#9034)
- Translate none-tag and all-tags labels in tag filter (#9030)
- Ensures scoped search category is searching in all categories (#9031)
- Ensures we don’t attempt to create a new PM on an existing topic (#9029)
- Blank popular posts in summary emails due to lightbox images
- Ensures group automatic membership dropdown works (#9022)
- Muted was not working in topic timeline (#9021)
- Ensure web hooks are retried at most 5 times
- Correctly shows suggested topics label (#9017)
- Ensures mini-tag-chooser is respecting max_tags_per_topic (#9018)
- Use dedicated site attribute in category + tag filtered pages too.
- Consider webp a supported image format for upload (#9015)
- Only mark attachments as secure media if SiteSetting.secure_media? (#9009)
- TOTP could not be used on sites with colons in their names
- Restore initState() call within discourse-location for subfolder
- Respect prioritize_username_in_ux setting in email
- Correct upload statistics report for external storage
- When admin changes staff email still enforce old email confirm (#9007)
- When admin changes another user’s email auto-confirm the change (#9001)
- Remove broken error dismiss button
- Respect muted tags for mailing list mode
- Minor linting issue for future rubocops
- Disable save button for API key creation when invalid (#9005)
- Patch ActiveRecord SchemaCache for safe concurrency support
- Remove border-box from modal-body to avoid iOS fixed position bug
- Makes setting-object capable of defining value/name properties itself (#9003)
- Prevents setting default values on setting component to reload page
- Prevents notifications button to be cutoff on mobile (#8998)
- Enums should be treated as flat arrays (#8995)
- Group members dropdown was broken on mobile (#8994)
- Remove anchors from banner headings.
- Mentions updater should work regardless of
.notify
- Group mentions were not being cooked the same was as previewed
- Ensures report-filter/category is correctly filtering (#8992)
- Use ‘hostname’ when Discourse.os_hostname is not available
- Disable poll options if user groups do not allow them (#8987)
- Strip video oneboxes from excerpts
- Some select-kit dropdowns were cut-off by hidden overflow in modals
- Use separate site attribute for single category “top tags” list.
- Use correct translation string
- Sk body should follow wrapper width (#8984)
- Prevents error when loading tag groups (#8983)
- Prevents expand post to trigger page routing (#8982)
- Tweak upload security emoji check (#8981)
- Improvements and fixes for update_upload_acl rake task (#8980)
- Never mark uploads based on regular emoji secure (#8973)
- Invalid syntax in elsif in Theme importer
- Toolbar menu specificity
- Username mentions lost styling
- If a group is unmentionable, don’t render it as mentionable
- Tag topic counts wrong after adding synonyms
- Value-list choices when removing a value
- Confirm
draft_key
is present on GET - Return a 404 when the
draft_key
is missing - Prevents everyone group to show as group option for polls (#8957)
- Brings back castInteger as a safer migration path for sk2 (#8966)
- When unread reply notification exists don’t create new (#8921)
- Dont create new notification if already exists
- Update
Site.top_tags
in “categories” route if topic list available. - Never allow custom emoji to be marked secure (#8965)
- Displays selection text when no default_notification_level is set (#8962)
- Don’t remove the topic image if posts don’t have them
- Ensures shortcuts work correctly with topic-notifications-button (#8956)
- Ensures select-kit can select a row with 0 as value (#8955)
- Handle SSO Provider Parse exception
- Linking to a category via hashtag had a broken URL.
- Correctly compile theme template overrides (#8946)
- Use plain text if available instead of image upload.
- Regression with wizard canvas elements
- Don’t count ignored, missing uploads in migration to S3
- Remove pie draw animation (#8940)
- Avoid highlight mention to groups that are not public.
- Make inline oneboxes work with secured topics in secured contexts (#8895)
- Subfolder sites rewriting URLs to root domain on initial load (#8932)
- Date was not mutated when changing it in change-timestamp modal (#8935)
- Avoid highlight mention to groups that are not public
- Don’t use theme colors for digest unsubscribe footer links
- Correctly excludes current user in user-chooser (#8928)
- Makes user-selector use real booleans (#8909)
- Render HTML for pie chart options (#8912)
- Polyfill String.startsWith function for IE11
- Make category slug validation less strict (#8915)
- Disable preloading audio + video when secure media enabled (#8922)
- Ignore group mentions inside quotes (#8905)
- Removes limit for trust level growth report (#8908)
- Makes tag-{info,list} more specific to avoid styling other elements (#8902)
- Flair icon being removed when updating other profile info
- Skip absolutizing URLs when source URI is invalid
- Properly convert quotes to Markdown (#8808)
- Ensure s2 is working with wizard (#8886)
- Reset
edit_reason
in posts when creating a new version. - Strip audio/video content from excerpt (#8881)
- Prevents ac wrap to overflow on group-add-member modal (#8882)
- Remove post/topic image_url on post edits
- Spoiler logic should live inside of spoiler plugin
- Ensures we have a proper component name (#8876)
- Recovered posts with no user will be taken over by system user (#8834)
- Replaces fake null value by clearable option (#8875)
- Show detailed error messages for category pages. (#8832)
- Tag info misleading message saying it’s not restricted
- Opening new topic draft never creates post (#8828)
- Corrects min/max logic for mini-tag-chooser (#8871)
- Simplify maximum/minimum logic in sk2 to avoid chicken/egg (#8868)
- Allow submitting various forms via keyboard (#8866)
- Don’t leak event listeners (bug introduced in 999e2ff)
- Add support for sub-sub-categories in base_importer
- Allow both meta_data and custom_fields when creating a topic
- Topic progress bar shouldn’t show up on desktop (#8854)
- Edit title respects min trust to edit post
- Prevents firefox to generate a click event on space (#8856)
- Ensures tags-admin-dropdown is working correctly with sk2 (#8852)
- Links in category box descriptions should be clickable
- Labels were switched in the wizard for privacy options
- Warn users of overwriting new topic draft (#8841)
- Featured topic title on profile HTML parsed (#8850)
- Prevents exception on /admin/badges page when model is not set (#8849)
- Email attachments with a size of 0 bytes caused error
- Sort out the route navigation in admin/email-style (#8837)
- Better error messages when name is too long
- Restore up/down icons in period-chooser
- Never return the same reply more than once via reply_ids
- Make dropdown custom user fields compatible with select-kit 2
- Don’t return post replies from other topics
- Off-by-one error setting the distributed mutex key to expire
- Check parameter types
- Admin user list not showing 2FA icon for only security keys enabled (#8839)
- Suppress notification flood when post is edited (#8838)
- We don’t want to update the post read count and user stats if the post timing wasn’t created due to a conflict. (#8824)
- Use updated_at in the S3 inventory job (#8823)
- Serve .ico files without nginx 404 for secure media uploads (#8826)
- Stop encoding presigned URLs with UrlHelper (#8818)
- Import sub-sub-categories (#8810)
- Ensure ‘unless’ helper resolves variable name once (#8820)
- Disallow featuring hidden topics (#8814)
- Stop secure media URLs being censored too liberally in emails (#8817)
- Customized email subjects was ignored for some notifications
- Set showFooter to true on group topic list (#8795)
- Wrap markdown videos with video-container class to stop post height jumping (#8806)
- Blank cooked markdown could raise an exception in logs
- Mitigate issue where legacy pre-secure hotlinked media would not be redownloaded (#8802)
- Correct notification when tag or category is added (#8801)
- Award “User of the month” badge at the beginning of month
- Uploads:s3_migration_status rake task was broken
- Export all category names in user archives (#8790)
- Apply like based badge based off grant date
- Undefined method ‘title’ for nil:NilClass in PostAlerter#create_notification
- GetURL on a subfolder site should ignore prefix in middle of URL (#8794)
- Post reviser picking up edits for hidden posts (#8792)
- Improve downsize_uploads (#8409)
- Adjust the broken image placeholder border (#8781)
- Failed to notify user after restoring backup
- Add ‘noindex’ header to rss feed responses.
- Resolve pull hotlinked image and broken link issues for secure media URLs (#8777)
- Topics sorting in tag pages is broken.
- Ensure sourcemap’s source is correct. Uses the full assets path this time. (#8774)
- Redis fallback handler refactoring (#8771)
- A separate FallbackHandler should be used for each redis pair
- Create frozen copies of passed in config where possible
- Extract start_reset method and remove method used by tests
- Use presigned URL to avoid 403 when pulling hotlinked images for secure media (#8764)
- Re-apply sourceURL in development mode
- Featuring topic on other users profile shows their topics (#8769)
- Notify staged users about private categories (#8765)
- Show category list on subcategory page if it has subcategories too (#8768)
- Ensure sourcemap’s source is correct
- Show all parent categories on topic page (#8767)
- Quoting a quote preserves the original post information (#8746)
- Ensure only edited badge titles update a users title
- Use schema.org’s BreadcrumList
- Categories_breadcrumb helper to support more than 2 levels of categories.
- Use new tag routes (#8683)
- Workaround limitation in jquery.autoellipsis (#8747)
- Higher z-index for usercards in the header
- Do not extract dates from quotes and Oneboxes (#8754)
- Allow the app to generate and accept longer backup codes (#8761)
- Incorrect locale in badge granter (#8749)
- When tag or category is added notify users that topic was modified (#8750)
- Do not error in excerpts when aside tag has no class attribute
- Make topic query include topics from sub-sub-categories (#8709)
- Make category-chooser show all parent categories (#8706)
- Users should be able to remove their primary group
- Don’t override timezone on every visit of profile preferences
- Don’t cause exceptions due to rename of
reply_id
column - Show PM icon in docked header
- Applies correct styles to icon and attempts to dry code (#8739)
- Do not increase size of emojis in markdown tables (#8742)
- Reload the ReviewableScore types when extending flags (#8740)
- Include sub-sub-categories in new/unread counts (#8710)
- Change additional public uploads to not be secure (#8738)
- Groups pagination was broken
- Change rootNone behavior in category-chooser (#8692)
- Add missing translation key for narrative bot Italian locale.
- Styling for feature topic on profile modal (#8727)
- Show error message if the topic deletion fails (#8723)
- Correctly wrap image and resize controls inside paragraph (#8718)
- Better error message when topic deletion fails
- Create post notices only for public posts (#8708)
- Group membership leak
- Raised a proper NotFound exception when filtering groups by username with invalid username.
- Properly filter the groups based on current user visibility when viewing another user’s groups.
- Spec for groups_controller#index when group directory is disabled for logged in user.
- Groups_controller.sortable specs to actually test all sorting combinations.
- Rewrote the “view another user’s groups” specs to test all group_visibility and members_group_visibility combinations.
- Ensures group-navigation states changes when route changes (#8724)
- Ensures secondary menu of user notifications mobile nav reloads (#8716)
- Update user-selector excluded usernames after insert (#8711)
- Update featured badge ranking when mass-awarding badges
- Moves back padStart/padEnd to core polyfills (#8714)
- Specs with old filename
- Use CDN for the
discourse-internet-explorer
- Remove padding while composer is saving
- Ran prettier on user-selector-test (#8700)
- Make ‘findBySlugPathWithID’ when URL ends with a slash (#8699)
- Prevents url of file from being pasted when pasting file on iOS (#8693)
- Don’t log a claimed topic database error during tests
- Stop logging errors in postgres on reviewable conflict
- Decompressing lots of small files triggered error
- Allow users to change title in locales other than English
- Do not redirect to
/auth/*
urls after authentication - If the admin sso sync has no external ID, don’t throw an error
- Don’t leak event listeners in user-activity-drafts (#8682)
- Allow omniauth confirmation page to pass through GET parameters
- Add noindex header to user profile pages.
- Make scrolling to bottom post in topic more consistent (#8671)
- Ensure we consistently pick the same topic for bench
- OnScroll method was not defined on mobile discovery (#8672)
- Topic_tracking_state when mute_all_categories_by_default is enabled
- Only agree with the first post when using the ‘Delete post + replies and agree’ option
- Cached new topic data should not be deleted after dismiss new (#8660)
- New/unread count after dismissing new topics in a regular category (#8659)
- Allows scroll on load for discovery topic list (#8661)
- Bulk insert to create application requests
- Bulk insert to create topics
- No need to create separate user for each topic, post etc.
- Another bulk_insert of ApplicationRequests
- Dont create user and topic instances when not neccessary
- Merge examples with expensive setup into one example
- MaxMind DB file not downloading correctly
- Keep ‘rb’ & ‘rp’ tags in html to markdown conversion.
- Ensure CSP is off for qunit
- Show uncategorized description on categories page
- Descriptions were blank for uncategorized in hamburger menu
- Add a blank poll options validation (#8652)
- Don’t give error 500 when invalid date param is given to admin reports (#8658)
- Allow underscore in file extension while downloading the uploads.
- Correctly account for onebox height when lazy loading images
- Any global notice text can contain HTML (#8655)
- Bots accuracy should be zero (#8654)
- Allow any protocol in wildcard url checker (#8651)
- Avoid superflous logging when mime type is bad
- Under rare conditions saving a new draft could error temporarily
- Catch error when unknown COSE algorithm is supplied for Security Key (#8649)
- Trigger commands are different for each locale, account for that.
- Only show admin wrench when there are actions on mobile
- Don’t display cloak on admin tool when the right wrench is clicked (#8641)
- Visual improvements to admin topic menu (#8638)
- Use cached MaxMind DB for longer
- Open a card on click even if the mention has extra elements (#8626)
- The ‘reviewed’ status filter should include deleted elements (#8630)
- Update topic/post counter correctly when category has zero topics (#8600)
- Makes highlighting last viewed topic more resilient (#8624)
- Correctly styles pwa consent banner (#8623)
- Allows global_notice site setting to contain html (#8622)
- Cache_critical_dns was erroring without IPAddr
- Correctlt styles notification-consent-banner (#8621)
- Track correct site setting
- English and US date/time formats
- Better error message when forum is in read-only mode
- Update normalize css from 3.0.1 to 8.0.1 (#8591)
- Correct description for out of love badge (#8615)
- Everyone can see poll results when on_vote and closed (#8613)
- Bug when revoking badge as title (#8616)
- Category routes model params should decode their URL parts (#8612)
- Ensure that we encode a slug only once if slug generation method is encoded
- Give expanded CSS/HTML editor >`0 height
- Label helpers on sign up form are not hidden (#8603)
- Remove rerenderTriggers
- Remove full nested quotes on direct reply (#8581)
- Show signup input tips and improve spacing
- Limit requests and include data when reporting deprecated icons
- Correct user serializer user method for extended serializer (#8590)
- Include
Symbol
polyfill for IE11 - IE11 compatibility for readonly check
- Show parent and subcategories for 2nd level categories (#8579)
- Prevent errors in IE11 following AJAX request
- Add missing Object.entries polyfill for IE11
- Show new/unread button when a new topic or post is created (#8576)
- Parallel spec system needs a dedicated upload folder for each worker. (#8547)
- Move IE specific CSS rules to discourse-internet-explorer plugin (#8567)
- Remove ‘staff_only’ results option for non-staff (#8565)
- Fix choose-topic component to search by url (#8574)
- Avoid String.matchAll for IE11 support
- Use updated_at date to denote expired invites (#8521)
- Prevents crash in discourse_tagging with empty term (#8548)
- If a prettified slug is a number, return defaultt (#8554)
- Require: false for rotp gem (#8540)
- Category id in filterCategory (#8555)
- Ensure currentUser exists before getting ID
- If we run
db:migrate
on its own, it should load the environment - Migration paths were being forgotten
- Allow IE script to load with a CDN
- Granting staff status should auto-approve users waiting approval (#8533)
- Granting staff status should auto-approve users waiting approval
- Constraint error when inserting the same topic group twice
- Cache short upload URL (#8541)
- Disallow c as a tag
- Disallow none as a category slug
- Hide old bookmark button on post-menu if SiteSetting.enable_bookmarks_with_reminders
- Replace deprecated URI.encode, URI.escape, URI.unescape and URI.unencode (#8528)
- Update S3 stubs for more aws-sdk API changes (#8534)
- Add new content type for theme/component
- Don’t raise an error if the user is not present
- Prevent scientific notation in free space check (#8473)
- Always add username span in quick access item (#8526)
- Reorder categories not working
- Alphabetical tag sorting in mini-tag-chooser
- Tag input doesn’t show all top 5 permitted tags
- Ensures slug and id are not arrays (#8495)
- Muted tags are respected by TopicTrackingState (#8467)
- Don’t try to create an empty tag when updating a topic (#8481)
- Default draft key in openComposerWithTopicParams (#8496)
- Optimize images in Onebox (#8471)
- Do not autocomplete categories or emojis in code blocks (#8459)
- Crawler requests not tracked for non UTF-8 user agents
- Skip validation on enforcing second factor change if the value is “no”
- Avoid unpinning composer on iOS when invoking emojis
- Ignore DMARC for emails sent to mailing list mirror
- Image file names with dots were showing incorrectly in composer markdown (#8465)
- Login page that redirects to preferences was broken
- Redirect to /login-preferences didn’t work for subfolders
- Anonymous cache regression
- Export poll UI should only show for admins
- Keep
ruby
&rt
tags in html to markdown conversion. - Secure Upload URLs in lightbox (#8451)
- BufferedValuesString.split is not a function (#8463)
- Prevents multiple jumps to happen with LockOn (#8460)
- Allow for nil upload record when migrating to S3
- Ensures the element is on the page before scroll with lockon (#8458)
- Use filtered posts when determining the next page
- Add a component to all themes takes only active ones
- Move select components/themes to top
- Improve defaultIsAvailable
- Add filter(Boolean) and remove btn class
- Inbound link when the only slug available (#8457)
- Don’t allow category slugs to be entirely digits
- Respect
enable_inline_emoji_translation
setting in titles - Prepends whitespace when inserting via emoji picker
- Filter readers avatars correctly when the post is a whisper
- Guarantee order to correctly defer replies in review queue (#8426)
- 500 error for missing badge grouping (#8446)
- Hide pie legend when results are grouped (#8445)
- Poll pie container was too large (#8444)
- Do not autocomplete categories or emojis in code blocks (#8433)
- Generate redirect URL correctly when using a subdirectory
- Handle none path correctly with three levels
- Ensures censor has always at least an empty string to handle (#8442)
- Delay the ‘send_advanced_tutorial_message’ job to prevent race conditions
- Optimize quoted images (#8427)
- Add a unique index to developers table (#8436)
- Make sure the suspended status is up to date (#8432)
- Adds data-topic-id to quick-access-item (#8430)
- Use mapBy and filterBy directly
- Make Google Groups scraper work for G Suite users
- Cache failed onebox URL request server-side (#8421)
- Mark secure media upload insecure automatically if used for theme component (#8413)
- Serve crawler view to Google PageSpeed
- Correctly ignore/approve replies when acting on a flagged post (#8425)
- Do not start the login flow when logging out from SSO/Authenticator (#8423)
- Use dedicated Vimeo onebox for all video types
- Correctly resize lazy loaded images in Oneboxes
- Correct hostname in vimeo.com
- Bypass finaldestination check for Vimeo links.
- Do not validate topic when resetting
bumped_at
- Show updated_at for invite sent date.
- Draft not clearing when replying to new topic
- Oneboxer.js infinitely retrying failed requests (#8414)
- Improves recurring by ensuring DST is computed correctly (#8410)
- Don’t error when the empty current value in dif (#8406)
- The build; ran prettier (#8412)
- Update site data when we receive a list of categories
- Only trigger upload ACL update when needed
- Show quoted images correctly. (#8391)
- Be more tactical with replacing markdown chars
- Replace %20 with space in markdown file name for uploads (#8405)
- When dismissing category inform via MessageBus (#8371)
- Prevents exception and more duplicates (#8396)
- Prevents timezone to show duplicated zones in preview
- Method names incorrect (#8393)
- Always return secure_proxy_without_cdn url for secure media (#8394)
- Remove uneeded from discourse loader (#8390)
- Aliases for require functioning (#8387)
- Allow private media uploads to be reused in login_required sites
- Replace this.get(“foo”) with this.foo to fix linting checks
- Handle german quotes in discourse local-dates (#8386)
- Mobile top topic list with a period and a category or tag
- Do not log if an invalid mime type is passed to app
- Add skip_validations in one more place for narrative bot plugin
- Allow advanced tutorial when title emojis are disabled
- Use correct MIME type for theme exports (#8379)
- Abort CensoredWordsValidator early if censored_words_regexp nil (#8375)
- Amazon video oneboxes were not working.
- Allow secure uploads if global s3 setting active and enable_s3_uploads validations (#8373)
- More
Promise
uses that were not imported - For a single authenticator, do not interrupt registration flow
- Email excerpts for posts starting with a quote were displaying a username
- Turn off auto bumping for topics with scheduled bumps
- Parallel spec system needs needs a dedicated upload folder for each worker. (#8372)
- ‘default_categories_muted’ site setting not working for anonymous users.
- Do not insert conflict rows into category user
- Automatically recover from bad sprockets cache in development (#8364)
- Unable to remove required tag group from a category
- Errors when using tags with colons in their name
- Ensure load-more considers current position (#8357)
- Better handling of Group model state (#8356)
- Enter key should submit password reset form, not refresh the page
- PM glyph in user-menu should always be shown to staff
- We don’t need to refresh dates so often (#8367)
- Attempts to be correct about dst when using recurrence (#8366)
- A pmOnly tag should link to messages (#8361)
- Don’t error CleanUpInactiveUserJob when user is missing (#8362)
- Ensure revisions are made to store edit reasons and no reasons get wiped (#8363)
- Support for
rake db:rollback
with plugins - Include 5 participants in topic summary
- Use this.content.category instead of this.category on navigation-item
- Confirm new email with backup codes enabled
- Don’t show bots as post readers
- Revert mobile jump to last post behaviour
- SVG Sprite version hash should be based on bundle result
- Tag topic lists should pass on noSubcategories when building the top menu
- Tracking Topic State know about category_seen_at (#8351)
- Need to require open-uri for discourse-narrative-bot plugin
- Allow importing themes with subdirectories in extra_js
- Missing User objects in Utilities
- Computed is part of
@ember/object
not@ember/object/computed
- Allow forceActive without a customHref
- Do not deactivate admin accounts with recent posts or api keys (#8342)
- Update quotes after moving posts (#8326)
- Topic lists filtered by tag and a specified filter don’t work
- Tag and category watchers regression (#8336)
- Better error handling for invalid locale bundle versions
- In case
@ember/object
hasn’t been loaded yet - Do not skip some emails in user search (#8317)
- Keep emoji images in group bio excerpt (#8329)
- More missing RSVP imports
- Was using a native browser Promise instead of RSVP
- Use correct class variable to get notification levels.
- Remove magic numbers in notification levels.
- Update api_key rake task for recent changes
- Return a deprecation for
Discourse.Session
- Add deprecation for Discourse.NavItem in case themes are using it
- Alias modules that are required AND imported (#8315)
- Count current penalty if it started more than 6 months ago (#8313)
- Use ‘about.json’ endpoint instead of using ember model to get the data.
- Badge and user title interaction fixes (#8282)
- Ensure enforce 2FA for staff satisfied by security keys (#8316)
- Drafts are unique by draft_key and user_id
- Correct display of last used date in API key details UI
- Downcase SSO external email before checking against Discourse email (#8306)
- Include onebox default options in development environment
- The internal position on the topic timeline is a scroll position
- Regression not showing excerpts in mobile timeline
- Use long version of month names in date formats
- Unicode group names encoded for url (#8302)
- Too much blank padding in video oneboxes
- Correct translation key for api key revoke button
- Skip invalid URLs when checking for audio/video in search blurbs
- Add
<img>
alt attribute for Summary emails - Tweak restorer spec to make it stableish (#8300)
- Display tags topic list correctly when none is selected for subcategories
- Build with prettier for imports (#8298)
- Allow theme translations to be accessed in initializers (#8285)
- FilterQueryParams mutates state that is essentially global
- Improve regex used for image sizing controls (#8291)
- On mobile setting active on navItem would not work
- Skip composer blur event when switching apps in iOS
- Do not update created_at date when resending invites
- Do not consider mobile app traffic as crawler visits
- No need to pass
cache
option in onebox - Dropbox videos were not loading
- Ensure menu not too tall on desktop only
- Prevents whitelisted_generic_onebox_spec to fail with zeitwerk (#8288)
- Update action should be in setting-component mixin (#8287)
- Ensures menu panel is not too tall for screen (#8248)
- TopicQuery doesn’t react well to subcategories without definitions
- Do not add personal message link in user menu if they are disabled
- Move
makeArray
to discourse-common - Missing
run
import - Do not load plugin CSS/JS assets when disabled (#8275)
- Unread topics not clearing when whisper is last post (#8271)
- Hide muted subcategories for mobile (#8273)
- Enter key on forms submits rather than refresh (#8274)
- Make notification consent banner usable via keyboard and screenreader (#8255)
- Move attachment_css_class constant out of upload-short-url for discourse-markdown-it
- Cache
Discourse.system_user
separately for each multisite tenant (#8276) - Under some conditions draft would say it was saving when not
- Tags can be filtered on categoryId without a q param (#8264)
- Default user preferenced categories are not updating in admin site setting UI.
- Prettier on importing mixin (#8270)
- Ensure there’s an excerpt before showing the bio
- Correct slug validation
- Account for empty uploads directory upon backup restore (#8262)
- Generate category url correctly when slugs are empty
- Require q param in /tags/filter/search route (#8263)
- Don’t use ember imports in pretty text
- Use modules for
Ember.run.debounce
hack in testing - Upserting custom fields using keywords converts the array key to a string
- More flaky jobs_base_spec.rb (#8259)
- Flaky jobs_base_spec.rb (#8258)
- Place image scale buttons unconditionally
- Close modals on ESC key and clicking outside
- Correct error when sending PM to email address
- Prefer Category.find_by_slug over Category.find_by(slug: …)
- TopicQuery category lookup by slug
- Respond to user search correctly when category_id is blank
- Theme component setting was not getting updated in the UI (#8247)
- Reload plugin translations in development (#8243)
- When running the wizard and using a custom theme, fallback to the color_scheme name if the base_scheme_id is nil (#8236)
- Allow storage of non unique rows in oauth2_user_infos
- Update rack-mini-profiler
- Hide muted subcategories (#8239)
- Handle nil case for avatar, just in case
- Allow avatar downloads to follow redirects
- Show poll voters in Oneboxed posts. (#7768)
- Check for presence of liked post before creating notification
- Rubocop rule on restorer spec (#8238)
- Restore for non-multisite is not raising an error on reconnect step (#8237)
- Backwards compatibility for uncompiled email style css
- Do not load group members when user can’t see it.
- Should not disable topic inputs while creating new topic.
- Wizard tests were broken with new loader
- Sortable controller var conflict
- Correct path to ImportExport module (#8227)
- Reconnect in restore process connects to correct DB (#8218)
- Notifications are missing under certain conditions
- Respect
tl3 links no follow
setting (#8232) - Return blank avatar when downloading an avatar is not possible due to file size
- Exclude image_url from web_hook_topic_view_serializer
- Prevent null-byte searches causing 500 error (#8226)
- Follow redirect returns url if response code is 200
- Do not resize xkcd image
- Include user id in notification webhook (#8195)
- Load user model when some attributes are missing.
- Make category updates slug validation idempotent
- Reload only notifications when refreshing notification count (#8221)
- Zeitwerk-related fixes for jobs. (#8219)
- Rate limit and hijack certificate generation. (#8215)
- Add common HTML5 media extensions to onebox audio and video tags (#8216)
- Correct mention autocomplete in new topics in unsecured categories
- ‘only_hidden_tags_changed?’ method returned ‘true’ even when tags are not changed.
- Id is always true since it’s been to_i’d
- D-button should default type to button (#8217)
- Fixes plugin generator with zeitwerk (#8220)
- Various fixes to draft system
- Update Redis gem to version 4.1.3
- Polyfills forEach support on NodeList for IE11 (#8213)
- Handle encoded slugs for subcategories
- Do not truncate encoded slugs
- Display site text overrides for non ‘_MF’ keys (#8189)
- Transform pluralized keys to
.other
, to check valid interpolation - Update Redis gem to version 4.1.3 (#8197)
- Get rid of redis freedom patch
- More encoded slug fixes (#8191)
- Do not encode the URL twice
- More places do deal with encoded slugs
- Handle the nil slug on /categories
- Account for nil when looking up subcategories
- Correct topic timeline position calculation
- Tag cannot be used if it belongs to two tag groups with parent tag
- Use the quote generator in the example text
- Do not send notification to empty push_url
- Do not make notification API call if push_url is blank
- Add migrations to fix index on category slugs
- Prevents trash button to get focus when submiting input on profile (#8198)
- Respect private_email setting for user invited notification email
- Include topic link when inviting existing users to a topic/PM
- Correct line count link in GitHub commit onebox
- Public_file_server.enabled is false in test (#8192)
- Add unique index to prevent duplicate slugs for categories
- Do not unpin reply box in iOS when selecting Emoji
- Remove hiredis gem which is no longer needed
- Subcategory permissions validation
- Validation of category tree depth
- Move notification level only when user posted
- Zeitwerk-related fixes for jobs. (#8187)
- Ensure that scheduled jobs are loaded. (#8183)
- ‘local_cdn_url’ method should work for local relative urls too.
- Allow themes to upload and serve js files (#8188)
- Use upload’s cdn url in composer preview if available.
- Allow change password with TOTP
- Allows scrolling of search menu panel when showing more results (#8186)
- Accurate sub_total calculation for reviewable_scores (#8184)
- Properly encoded slugs when configured to (#8158)
- Ensure we remove tempfiles from disk when creating an upload
- Show a correct diff when editing consecutive paragraphs (#8177)
- Prevent from creation of duplicated TopicAllowedUsers (#8169)
- Minor Github onebox layout issues
- Mobile adjustments for reviewable list
- Downsize_uploads script
- Don’t fail when there’s no directory to strip
- During concurrent emails generation renderer should not be reused
- Order UserFields by position, by default (#8176)
- Site user_fields sorted by position
- Sort UserField by position for Site
- Don’t swallow the original error when moving posts
- Narrative Bot certificates are ERB templates (#8174)
- Topic timeline placement on iPad
- Existing post timings could prevent moving posts
- Decrement posts read count when destroying post timings (#8172)
- Remove site setting ‘shadowed-by-global’ option (#8061)
- Do not reset original scroll position in iOS to zero
- Downsize_uploads script to support external storage
- Store user_accuracy_bonus to clarify explanations (#8165)
- Fix rake db:create after zeitwerk changes
- Solution for pending migrations for bin/turbo_rspec
- Updates discourse-ember-source gem (#8167)
- Add mobile padding to bottom of user preferences screen
- Check for category conflicts in SiteSetting validations (#8137)
- Disallow negative reviewable score even if the accuracy would make it negative
- Ensure push_url exists before making push notification API call
- Properly downsize image on upload
- Maxminddb:get task no longer working
- Errors due to confusion between trustLevel and trust_level (#8149)
- Update user vote count on topic trash/recover (#8144)
- Correct position of topic progress in iOS when composer is visible
- Broken rubocop by empty line in application.rb (#8148)
- Autoload lib/ path for Sidekiq (#8147)
- Ensures chart parent element is still present before render (#8145)
- EmojiOne is now JoyPixels (#8142)
- First post true if user creates topic first (#8139)
- Show composer above DiscourseHub app nav on iPad
- Apply Visual Viewport composer height calc in iOS only
- Harden DistributedMutex
- Exception with triggerRefresh and subcat listing (#8131)
- Use migrations path for post_migrate (#8133)
- Revert Demon::DemonBase back to Demon::Base (#8132)
- Try to match advanced tutorial reset first (#8048)
- Prevents trigger post read count update on non existing post (#8128)
- Reset watched site settings when default locale changes
- Respect unicode whitelist when suggesting username
- Correctly escape category description text (#8107)
- Change focus when application resumes in android
- Include video tags and short urls in ‘have_uploads’ method.
- Include ‘short_path’ as src in each_upload_url method.
- PWA install was broken due to missing basic logo
- Cleanup DiscoursePluginRegistry state after tests that use it
- Fix options given to per-minute rate limiter
- Properly render server side plugin outlets (#8106)
- Require a min amount of reviewables before calculating thresholds
- Sensitivity did not work by default
- Remove versions from Active Record warm up (#8105)
- Ignore min_trust_to_send_messages when messaging groups (#8104)
- Proper jumpToPost with whispers/small-actions
- By default, don’t abort Google Groups crawling on error
- Split migration into two steps in developer guide (#8103)
- Only apply post hide logic to flag actions
- Google Groups crawler failed to login
- Preview up to ‘max_oneboxes_per_post’ oneboxes
- Put back the TL3 ->` TL0 spam thing
- Ignored flags should not count in your accuracy score
- Correct theme SCSS error handling
- Live reload plugin stylesheets when editing in development
- Live reload plugin stylesheets when the color scheme changes
- Do not include theme variables in plugin SCSS, and fix register_css
- Do not allow posting of category topic template without any changes
- Escape $ in translations before interpolating (#8100)
- Open drafts for PMs from Activity >` Drafts screen.
- Ensure page is reloaded correctly when a hash is present (#8096)
- Don’t show non-members as readers when the post is a whisper
- Improve protection against problematic usernames (#8097)
- Load raw hbs templates correctly from theme javascripts folder
- Explicitly specify the format when loading
/associate/{{token}}
- Add support for version query parameter in InlineUploads
- Do not escape
fancy_title
again. (#8095) - Do not show latest count in tabs on tag lists
- Rails 6 multisite migrations and plugin migrations
- Support
<img>
in code blocks when inlining uploads - Make markdown regexp patterns case insensitive.
- Do not log ‘pull_hotlinked_images’ edits in the staff action log
- Change admin dashboard sort caret icon color on hover
- Let mailgun_api_key also support their “HTTP webhook signing key” (#8091)
- Cast all numerical values in reports (#8087)
- Clear authentication data from session after create account (#8040)
- User directory should not include unapproved users
- POP3 doesn’t work with TLS 1.3
- Switch to full screen external login for Safari
- Inline_uploads and subfolder (#8076)
- Migrate_to_s3 task and subfolder
- Errors in qunit tests when version check info is missing
- Do not show staged users avatars when expanding the read count indicator
- Display emojis in search result blurbs
- Improve Onebox detection (#8019)
- Modify frozen String and profile_db_generator uses category id (#8080)
- Migrate post_edit_time_limit to tl2_post_edit_time_limit (#8082)
- Move read state when moving posts
- Topics with muted tag didn’t show up when filtering by category and tag
- Post editing period specs
- Inline_uploads not working on subfolder setups
- :reject_user_delete action can only be handled by ReviewableUser (#8068)
- Mobile Safari composer improvements (#8069)
- Make ‘group membership requests’ feature compatible with visibility level option ‘logged_on_users’.
- Adjust composer size for iPhone Xs Max and Xʀ
- Report cached controller and action to loggers
- Ensures google classic has correct man_facepalming emoji (#8065)
- Include ‘short_url’ as src if upload url not exist
- Close user card after clicking Message button
- Auth popup handling for Safari same-site cookie quirks
- Flagged posts user notifications (#8041)
- User should get notified when a post is deleted
- Broken scheduler when changing per_host
<->
global - Allow accessing nested objects within theme settings
- In case of orphan user records skip badge
- Heartbeat should be per host
- Notifications not updating correctly from background tab
- Remote theme record not saved when checking for updates (#8054)
- Avoid publishing changes if the topic was deleted
- Include read indicator when the publish_group_state is enabled
- An overridden text of a non-existent plural key resulted in error
- Ensure live-reloading of theme CSS works first time (#8052)
- Made turbo_rspec display errors in shared groups correctly
- Race condition during deploys creating stylesheets
- Don’t search for tags when editing topic title
- Don’t blow up if the topic does not exists anymore
- When activating via omniauth, create tokens after password reset
- When activating a user, ensure the change is reflected immediately
- Allow dashboard to load even when git version cannot be found
- Display actual readers on the first post
- Ensure avatar sizes are integers
- Only use app argument for official iOS app banner
- Show who read only if the attribute is enabled
- Update topic groups correctly
- Overriding _MF texts didn’t work for en_US
- When using a custom authenticator URL, send request using GET
- Add_to_serializer not correctly accounting for inheritance chains
- Don’t display PWA banner when using native app
- Remove duplicate %-sign from error messages
- Heartbeat check per sidekiq process (#7873)
- Allows mini-tag-chooser to fetch tags in background (#8033)
- Filter out hidden posts for wordpress
- Do not set destination_url cookie after deleting own account. (#8028)
- Infinite loop when mentioning in IE11
- Properly load desktop and mobile only plugin css assets.
- Allow topic edits when using a hidden tag
- Race-condition in fallback handlers (#8005)
- Don’t try to delete staged, unused admins and mods
- Regularly reset unknown extension of uploads
- Limit PWA install banner to Android for now
- Read indicator only appears when the group setting is enabled
- Ensure extra locales are only available to staff
- Ensure offset is always positive
- Prevents mobile nav to create an error when unregistering click events (#8016)
- Uses simpler pattern for custom href on extra nav items (#8015)
- Rack-mini-profiler not showing plugin frames
- J/K navigation resets current selection when scrolling fast.
- Properly set notification levels on group invite
- When inviting groups to message respect tracking state
- Explicitly require
topic_query_params
- Clear banner topic cache after remapping
- Ensures reports can’t modify records (#8006)
- Correct race condition loading library
- Hold s3 related distributed locks longer
- Store custom attributes that are needed by plugins in queuedpost payload (#8009)
- Attempts to use params from addDiscoveryQueryParam (#8007)
- Convert omniauth authenticator names to symbols before comparing
- Do not raise exception if the authenticator email is missing
- Downcase email coming back from auth-provider
- Replace model usage with SQL query
- Correct ordering for post_edits report, and remove query limit
- Correct query for post_edits dashboard report
- Remove the tmp inventory files after the s3 uploads check.
- RIP swipe-in menus on Android (#7997)
- Don’t update
watching_first_post
notifications when moving first post - Trusted users might cause content to be hidden with one flag
- Prevent failed remaps during restores
- Truncate topic_links.url to 500 chars during remap
- Do not create a double like notification. (#7999)
- Blank second factor gets default name
- Polyfills String.prototype.repeat for IE (#7994)
- Disallow user self-delete when user posted in PMs
- Use #dup instead of #+@ since content could be an instance of Nokogiri::XML::Element.
- Drop readonly function when dropping table
- Create readonly functions during backup
- Detect DiscourseHub user agent.
- Award ‘First Onebox’ badge just for Oneboxed URLs. (#7974)
- Correct OmniAuth route ordering
- Notify on Reviewable update. (#7980)
- Wrong discobot tutorial started for certain locales.
- Remove dependency on present? in distributed_mutex lib
- Correctly encode non-ASCII filenames in HTTP header
- Do not follow redirect on same host with path /login or /session
- Allows replacement of digits and symbols emojis (#7978)
- Embedding topics would fail with some HTML
- Don’t hide/close topics if they don’t meet minimum visibility
- Use unescaped title as combo-box id (#7979)
- S3 uploads were missing a cache-control header (#7902)
- Ensures flag-ratio report shows users with disagreed >` agreed (#7977)
- Show membership requests link just for group owners. (#7543)
- Generated controller should be in an underscored folder (#7975)
- Ensures pikaday picker is showing in UTC (#7968)
- Allows copy pasting file in composer with chrome (#7969)
- Syntax error in b1f5949
- Make the workbox path compatible with multisite
- Composer preview on IE11 (#7970)
- Rename deprecated “refresh” icon to “sync” (#7966)
- Better detection of Apple browsers (#7961)
- Various watched words improvements
- Don’t include multisite upload path to source URL if already exist.
- Make uploads recovery compatible with multisite.
- Correctly update replies when first post gets moved
- Modal
onClose
was being called repeatedly - Rollback when multisite tests raise exceptions
- Don’t reuse redis connections in different threads in tests
- Gravatar uploads being dependent on authorized_extensions.
- DistributedMutex (#7953)
- Better error message on username update from Admin user page.
- Add back verbose option to DbHelper.remap
- Add frozen_string_literal: true in the migration
- Prevent user-notifications-dropdown from causing unintended changes
-
Post#each_upload_url
yields incorrect path to block when CDN is enabled. - Make initializer work on first db:migrate
- Correctly identify Chromium-based Edge
- Support multi-file stylesheets in theme components (#7950)
- Better error when SSO fails due to blank secret (#7946)
- Include default label when exporting reports
- Provide an error message if no valid tags were selected
- Frozen string error in
TopicEmbed.import
(#7938) - Hide live-loaded posts from ignored users
- Reverts #18e2816 (#7940)
- Use same id for both original & optimized inventories in multisite setup.
- Apply defaults constraints to routes format (take 2) (#7920)
- Keep query params present in auth_redirect (#7923)
- Ensure that jobs don’t run immediately after migrate_to_s3
- Improves tags checking when updating category of topic (#7921)
- Removes uncategorized context if not allowed in composer (#7922)
- Send featuredLink as featured_link to backend to update correct … (#7915)
- Use uniq instead of uniq! when checking for uncompressed root path. Use rails naming convention for ZipUtils
- Migrations tried to change frozen string
- Update reply count when moving posts
- Delete notifications users can’t see after moving posts
- Old notifications didn’t link to correct post after moving post
- Allows to specify camelCased attributes in wrap component (#7919)
- Set a minimum reading time per post. (#7842)
- Always backup local uploads in addition to files stored on S3
- Do not request refresh on ‘log out all’ request
- Show same username or name for post notices. (#7862)
- URL encode usernames in user profile links in RSS feeds
- Remove post upload record creation inside ‘find_missing_uploads’ method.
- Bugs preventing to close delete account modal with button (#7904)
- String that can’t be translated in watched words UI
- Empty backup names with unicode site titles
- Respect
logout_redirect
setting on ‘Log out all’ - When ‘raw’ started with non-image upload url it’s not converted to short-url.
- Convert hotlinked non-image urls to short url.
- Remove all service workers from Apple devices again
- Rename deprecated icons, allow custom icons in badges
- Recompile extra_js theme assets when COMPILER_VERSION changes (#7897)
- Fallback to gzip compression if brotli isn’t supported (#7895)
- Skip markdown conversion for hotlinked non image urls
- Backups taken by pg_dump >`= 11 are nonportable (#7893)
- Apply defaults constraints to routes format (#7890)
- Ensure suppressed categories do not produce any featured topics. (#7863)
- Allow ampersand in site_texts routes
- Recalculate settings when dependent settings change
- Use default locale for flag reasons
- Do not show bootbox if post has no replies. (#7866)
- Turn off search logging when read-only (#7877)
- Ensures spinner is showing on tags/show when loading more (#7876)
- Ensures routing with hash doesn’t stuck history (#7872)
- Ensures routin with hash doesnt stuck history
- Latest Selenium gem broke Google Groups import script
- Remapping during restore was wrong for CDN URLs
- Remap differently when backup comes from multisite
- Turbo tests exit codes
- Clear theme editor content on switching tabs
- Remap shouldn’t try to change read-only columns
- Show category name in title for crawler view
- Use correct timezone for manual SQL
- Don’t use exceptions to catch conflicts
- Back button would go to previous topic instead of list
- Only add image size when with & height are in pixels
- IE grid layout issue on user’s own activity page
- Fail if none of our tags could be updated
- Do not show invite button if local logins are disabled
- Ensures routing to / with query string works (#7859)
- Don’t disable download_remote_images_to_local if site uses S3 (#7861)
- Upsert a custom field if a unique constraint fails
- Ensure lightbox image download has correct content disposition in S3 (#7845)
- Prevent emoji-picker from not showing (#7856)
- Respect the full_screen_login parameter from plugin auth providers (#7855)
- Use title attribute for notification items. (#7840)
- Remove misplaced save button
- Show ‘Export’ button for all tabular reports. (#7838)
- Logs for enabling/disabling components should show up in the staff actions logs
- Ensures emoji helper is working with custom emojis (#7843)
- Ensures /t/TOPIC_ID/POST_NUMBER is correctly routing (#7841)
- Page starts at 1 (#7844)
- Remove misplaced outlet
- Creating new badge is failing on empty SQL query (#7837)
- Only show remove timer button to users with permission to do so
- Use normal title instead of fancy title for prefilled composer
- Don’t send notification email when user isn’t allowed to see topic
- Ensures static pages are using absolute path (#7828)
- Copy local theme changes to correct temp folder when diffing updates to remote theme
- Fix a navigation bug
- FakeExceptions should have the original class name
- An exception cause is itself an exception
- Mark topics in sub categories as unread when dismissing parent
- Turbo_rspec doesn’t accept these options
- Only include pending/agreed scores in the total score
- Provides an emoji helper to replace codes by images (#7802)
- Prevents failure when TL was mutated on internal object (#7808)
- Do not allow creation of topic if there is no category available for posting (#7786)
- Calling action with a string is deprecated (#7807)
- Closes search-menu on escape (#7804)
- Do not include uncategorized_category_id in
topic_create_allowed
if posting in uncategorized is disabled - Ensure topic exists before making a banner. (#7781)
- Don’t use DistributedCache to store redis readonly state
- CategoryUser#batch_set (#7787)
- Remove notification_level from category_users unique indexes
- CategoryUser#batch_set wasn’t updating pre-existing records
- Changed was being reported incorrectly
- Iterate when clearing watched words cache
- Multisite upload urls must have either db name or the word ‘short-url’.
- Mobile overflow for tall fixed modals
- Ensures url to full reviewable conversation works on subfolder
- Category-chooser search should be scoped to category (#7794)
- Ensure :after_auth event is triggered. (#7791)
- Back button shenanigans when redirecting from
index
routes - Support carriage return in
InlineUploads
. - Don’t replace img tags within anchor tags with markdown format.
- Edge case with anchor tag in
InlineUploads
. - Some toolbar operations weren’t triggering the
change
event - If a user deletes a hidden post, it should not lose history
- Do not refresh all settings on save for all settings, limit to only a few
- ‘status’ param change not filtering the topics in tag route.
- BBcode edge case for
InlineUploads
. - Use correct name for selectable_avatars_enabled site setting
-
InlineUploads
should replace attachment links with markdown text. -
Upload#short_url
generates incorrect URL when extension isnil
. - Don’t allow users to edit topic information when the OP is locked
- Couldn’t modify a widget that wasn’t in the registry
- Remove temporary hack for fixed iOS bug (#7773)