# Discourse Version 2.8

**URL:** https://meta.discourse.org/t/discourse-version-2-8/182818
**Category:** Announcements
**Tags:** release-notes
**Created:** [March 10, 2021, 9:49pm UTC](https://meta.discourse.org/t/discourse-version-2-8/182818 "2021-03-10T21:49:19Z")
**Posts on this page:** 1
**Showing post:** 10

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [January 27, 2022, 3:26pm UTC](https://meta.discourse.org/t/discourse-version-2-8/182818/10 "2022-01-27T15:26:17Z")

</div>

### Bug Fixes

- Allow staff to reset passwords by username
- Client should be able to route ID-less topic URLs
- Single line emojis has emoji metadata indexed twice.
- Improve top links section from user summary
- Restore outlet in mobile views
- Tests should never cloak posts
- Select topics instead of posts
- Select best link from Atom feed
- Handle malformed URLs in `TopicEmbed.absolutize_urls`.
- The service observer was using `this` incorrectly
- Add another method to check binary file
- Possible ReDOS in markdown newline rule
- Allowed URLs for API scopes added by plugins
- Display composer popovers over dropdowns
- Correctly access last poster username
- Create email token with correct scope
- Ensure that login does not fail for users with invite records
- Prefer email when resetting password
- Respect blocked domains list when redirecting
- Hide excerpt of binary files in GitHub onebox
- Tag watching for everyone tag groups
- Disable service worker proxying in chrome 97-97.0.4692
- Mark invites flash messages as HTML safe.
- Ensure floating quote button is not positioned under sidebar
- Quick-quote on Safari
- Ensure method exists before calling
- Add `/session/sso` service-worker workaround for chrome 97
- Attempt to fix flaky test by using a shorter topic
- Autocomplete incorrectly replacing text if used mid sentence.
- Origins\_to\_regexes should always return an array
- Broken GitHub folder onebox logic
- Correctly uses the name helper for selected content
- Improve emoji upload UI
- Ensure floating quote button is distanced from iOS selection
- Emoji group not actually saving
- Pass category and tag IDs to the emit webhook event job.
- Limits pre-line impact to tweet text
- Selected group cleared between emoji uploads
- Attempts to compensate for first line spacing with pre-line
- Prevents tweets to lose format in onebox
- Bypass service worker on the SSO path
- Navigate to topic/PM regardless of Shift key press
- Handling of `/p/###` URLs within Ember
- LOAD\_PLUGINS=0 in dev/prod, warn in plugin:pull\_compatible\_all
- Allow slug-less topic URLs to work within the same topic
- Don’t display duplicated emoji in picker
- Update recent emoji list when selecting from it
- Don’t trigger `topic_created` event for reply posts via email.
- Disable cast votes button for multiple polls with no min.
- Regression in topic list kbd navigation
- Append /all to URL if default list is ‘none’
- Actually save fields on themes:update
- Refresh logic in discovery topic lists
- When composing a message do not suggest deleted posts users
- New-topic feature was broken when ‘Default List Filter’ was set to ‘no subcategories’
- When loading more topics, `showFooter` was not updated properly
- Jittery topic progress on some window sizes
- Clean flagged queue when response to flagged post deleted
- Error when voting on a multiple poll without the min/max attrs.
- Use font-down
- Smaller pencil icon for edit tags
- Hide user’s bio if profile is restricted
- Small adjustments to topic progress position on desktop
- Tone down admin dashboard critical problem messaging
- Don’t allow NULL values for `notification_level` in `category_users`
- Improve the way magnific popup is loaded
- Uploads were broken in old Safari
- Save draftSequence when it is 0
- Predict draftSequence on draft save
- SiteSetting.title was being polluted in StaticController
- Gives composer options to post:highlight trigger
- Remove length constraint of `fancy_title` in `topics`
- Fallback to `anonymous` not `user` when suggesting usernames for anonymous users
- Use correct argument name in pending reviewables translation
- Menu panel position adjustment
- Use basic meta description if other description tags are missing
- Translation overrides from fallback locale didn’t work on client
- “Customize Text” showed compiled MessageFormat string for overridden `_MF` translations
- Translation precedence was different on client and server
- Incorrect header offset calculation
- Add smooth scrolling polyfill
- Uses new format for search tag endpoint to prevent issues
- Notify group members when someone quotes or replies to their post.
- Add more actions to the uploads API key scope
- Correct email\_tokens\_token\_to\_nullable migration
- Ensure theme names are escaped in HTML attributes
- Check if invite domain is valid
- Allow OAuth2Authenticator to handle existing associations
- Blurry onebox favicon images
- Only consider it handled by composer when a composer
- Defer topic/post created events until emails have been added
- Make tests work with higher starting upload id
- Select correct topic draft for user
- Update has\_topic\_draft when draft is updated
- Ensure MessageIdService can handle hostname changes and multisite
- –header-offset didn’t account for overscroll
- References header leading to broken email threading
- Make thumbnail tests start with a clean slate
- Display pending posts in a moderated category
- Edit tag test
- Tag transition only if tag name changed
- Missing allowed urls when displaying granualar API key scopes.
- Auth incorrectly handles duplicate usernames
- Updating a consolidated notification should bump it to the top.
- When using external auth disallowed characters weren’t removed from username
- Make user themes sort order case insensitive
- Add random suffix to outbound Message-ID for email
- PWA badges were not updating
- Match for indeterminate depth in URL during upload tests
- Allows more precise placement strategy on mobile
- Don’t redirect XHR/JSON requests when login is required
- Extract and fix overriding of usernames by external auth
- Set `auto_update` to false for non-git themes/components
- Skip themes that have blank URL in the `themes:update` rake task
- Native File object was not passed to uploadHandler
- Broken css in #15141
- Do not suggest “user1” as a username to invited users
- Adds 422 status code to bootstrap json
- Allow staff to upload when they should and authorized\_extensions is blank
- Ensure widget hooks always call the correct instance
- Treats ipad as mobileView for popper positioning
- Global log notice regressed in #15000
- Setting bookmarks in some cases was broken
- Don’t throw errors on duplicate keys in Yaml
- Software update prompt position on themes with extra header
- Use CDN URL for internal onebox avatars
- Delete unconfirmed AND expired email tokens only
- Don’t crash the browser when tapping autocomplete suggestions on Android/Gboard
- Strip Auto-Submitted email header from group SMTP emails
- Do not fail-stop if theme update fails
- Git should not prompt for credentials
- Keep existent tags when editing tag topics
- Don’t hit permalink-check if not authorized
- Allow invites if must\_approve\_users is true
- Don’t publish polls on message bus when there are no polls
- Don’t publish notifications to MessageBus for inactive users
- Allow poll feature to be disabled in discourse-markdown
- Remove ‘Open Draft’ label after topic draft deleted
- Ensure mobile topic-list links are treated as Ember transitions
- Infinite recursion when calling a refresh() action on routes
- Add a confirm and cancel button when editing alt text
- Validate number of votes allowed per poll per user.
- Don’t overwrite computed property for loading spinner fix
- Topic list separator fix
- Exclude moderator\_action post for reply count in user summary.
- Incorrect title and chevron when filtering by post number.
- None and all categories filter
- Cache all watched words
- Clear previous errors on second factor form display
- Register customOptions as select kit filter
- Convert URLs embedded topics to absolute form
- Error when SMTP enabled in PostAlerter with no incoming email
- Clean up emoji name which is file name
- Include all categories in sortedCategories
- Adjust topic list header alert
- Ambiguous column in `downsize_uploads`
- Additional fixes for last-visited on topic list
- Fix regressions introduced in ae16b0a
- Adds missing class for last visit separator
- Redirect to homepage if no posts exist
- Exclude topics from muted tag in category featured list.
- Emoji uploader not using data.name on uppy upload
- Use correct group out of multiple for SMTP sender
- Drop malformed CC addresses in GroupSmtpEmail job
- A screen-track/appEvents regression in #14929
- Composer education message for group mentions were broken
- Use previous chunk to check if local backup chunk upload complete
- Set `null` to group if `groupAttrs` param is not available.
- Use the same hljs version in prod and tests
- Prevent `PreloadStore` from calling the finder when value is falsy
- Use Map instead of Object for caching
- Ensures minimum tags logic is correct and shared
- Display top posts from private categories if the user has access.
- Topic queryParams are removed from history state when scrolling.
- `LocalJumpError` in rake tasks
- Call `_clearFlash()` when displaying a modal
- Don’t fail if `s3_install_cors_rule` is off
- Use `127.0.0.1` instead of `localhost` for ember CLI
- Disable scroll events while on full screen
- Allow bulk invites to be used with [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true)
- In Ember CLI some plugin tests were referring to the wrong container
- Make PostRevisor more consistent
- Show perma-delete in menu without refresh
- Remove xlink:href to favour href due to deprecation
- Use correct attribute method to get post id from dataset.
- Regression introduced in #14715
- Keep topic context when redirecting to full search
- Generate valid heading ids
- Restore animation for like action on mobile
- Persist notifications in OS X
- Include admins in presence reply channel permissions
- Rename action\_code\_href to action\_code\_path
- Skip post validations for system revisions when author deletes post
- Ensure CORS rules exist for S3 using rake task
- Canonical URLs may be relative
- Stop saving bookmark on modal press ESC
- Ensure required\_tag\_group\_name is null if no value present
- Exclude suppressed category topics in digest even if unmuted.
- Rake categories:move\_topics shouldn’t move category description topic
- Display Instagram Oneboxes in an iframe
- Use mouse down event when cancelling search
- Insert commas even when field value is null
- Prevent duplicate search requests to backend
- Deleting a for\_topic bookmark caused JS error
- Use the same mode for chinese search when indexing and querying.
- Resolve responses of 103 should be retried using small\_get
- Include topic details when PMing
- Allowed\_theme\_ids should not be persisted in GlobalSettings
- Do not replace words in hashtags and mentions
- Hide links to muted topics and in categories list
- Avoid another N+1 query in `Site.json_for`
- Update flair group of all members if primary group setting changed.
- Should not receive topic invites from ignored users.
- Do not perform link lookup for replaced links
- Include new tags in validation if user can create one.
- Cleanup PresenceChannel instances when composer closed
- Prevents a circular json error in tests
- Vanilla importer fixes
- Avoid N+1 query in `Site.json_for`
- Correctly avoid concurrent requests in PresenceChannel get
- Do not send presence leave beacon if not present in any channels
- Show right message when permanently deleting topic
- Correct tracking context for some category routes
- Include the Vary:Accept header on all Accept-based responses
- Allow every tag for watched words
- Remove superfluous topic allowed users on group invite
- Correct site setting name
- Don’t leak unhashed user API keys to redis
- 2N+1 sql in admin /api/keys endpoint
- Make the `verbose_auth_token_logging` setting off by default
- Show search context only in topic routes
- Broken quick search on iPadOS
- Reset sso email and payload when user navigates away
- None row doesn’t have a value, use class to target it
- Topic timeline not updating in megatopics.
- Do not query backend when searching “in this topic”
- Remove ‘crawl\_images’ site setting
- Only replaces double quotes and uses unicode
- Do not show recipient user in email participants list
- Clarify None Needed option when editing bookmarks
- Hide full screen toggle button when textarea is disabled
- Category and tag picker alignment on mobile
- Correct api version after minor bump
- Improve quick search speed and result highlights
- Allow staff to view pending/expired invites of other users
- Also track textContent mutations
- Decorate posts that are loaded after the initial render in post stream
- Improvements for download local dates
- Ensure embedded replies/reply-to links open in \_blank
- Groups using users icon were lacking margin in search
- Attempts to observe preview mutation asap
- Attempts to enforce caret position in filter
- Use absolute URLs in search shortcut
- `BackupRestore::DatabaseRestorer` failures with Ruby 3
- Show group filter only when user is logged in and groups are present
- Extract filter pm and categories from UserAction
- Nil the baked version after moving the posts.
- Use category’s default sort order in latest & unseen filters only.
- Missing excerpt for post small actions in topic timeline.
- Remove List-Post email header
- Move check if user is suspended later
- Update translation key to match flag reason.
- Phpbb import - attachments not embedded in posts
- Handle separately invite to topic and forum
- Topic\_tracking\_state not erroring when missing user\_stat
- Ruby 3 does not freeze interpolated string
- Fix local-dates in non-post contexts, and in long topics
- Correct password change path for password managers
- Resolve quoting issues by reverting new shortcuts
- Disable previews if diffhtml is enabled
- Apply quote selection workaround to all browsers
- Selection going missing in Safari
- JS error when showing topic search results
- Strip `discourse-logged-in` header during `force_anonymous!`
- Do not persist tags query param
- Tooltip in quick search didn’t work
- Check env for multisite config path even if config file exists
- Disable Show results if nobody voted
- Hide form after password reset
- Parse address lists in embedded emails
- Local date trim when no time available
- Select all button on group assigned page
- Reenable global setting HTML support.
- Display embeddable host’s post to category.
- Support Ruby 3 keyword arguments
- Ember CLI was always loading the admin payload in dev mode
- Vimeo private video oneboxes were broken
- Use addresses to compare email header
- Stop tracking incoming message after navigating away take 2.
- Stop incoming message tracking after navigating away.
- Make score’s reason link building more explicit
- Empty state message on the user bookmarks page
- Exclude PMs that user sent to themselves.
- `Topic.similar_to` results in invalid query for certain locales.
- Do not show ‘new or updated topics’ for mobile categories page
- Follow the canonical URL when importing a remote topic.
- Error loading suggested topics for anon users.
- Notify incoming to categories and latest topics view specifically.
- Restrict other user’s notification routes
- Incorrect interpolation was limiting to 1 dispatch / component
- Do not publish post for PM topic tracking if not new for user.
- Support Ruby 3 keyword arguments for DiscourseRedis
- Workaround Safari 15 createImageBitmap bug
- Do not display userColorSchemeId in the UI
- Make update banner always available on the categories view
- More robust tabindex restriction on preview
- Ensure subcategory list is hidden when not required
- Do not error \_removeDeleteOnOwnerReplyBookmarks on navigate
- Don’t try to boot the ember app on old browsers
- Correctly defines data-attributes used by local-dates
- Feature detect globalThis
- `include_` serializer methods must end with ?
- Use unread post excerpt for topic-level bookmark excerpt
- Use active record `update_attribute` instead of mini sql.
- Do not reload card if already loaded
- Handle forwarded email quotes around Reply-To display name
- Return empty array when no parent for range
- Rss gem is bundled gem since Ruby 3
- Empty state message on the group messages pages
- Update only passed custom fields
- Hoisting linebreaks shouldn’t fail for HTML5 elements
- Offer site\_logo\_dark\_url as an option for dark mode themes
- Add locales for group mention PM variants
- Remove incoming messages for read events.
- Address ArgumentError to support Ruby 3 keyword arguments
- Prevents extreme cases to overflow in selected content
- Do not suggest Emoji when in open code blocks
- Update only present fields in request
- Optimistically fix topic timeline state issues
- Use `<textarea>` for theme translations
- Do not error mobile upload button if !allowUpload
- Mobile nav styling
- Give the topic timeline unique keys for state
- Make sure S3 object headers are preserved on copy
- Don’t publish PM archive events to acting user.
- Don’t attempt to migrate multisite test db while holding the mutex
- Resolve short URLs after diffHTML was loaded
- Correct the play icon position
- Do not replace in mentions and hashtags
- Display unread/new PM links only when viewing own user.
- Remove dismissed new topics from PM topic tracking state.
- Remove dismiss read topics from PM topic tracking state.
- Better positioning for “Skip to main content” button
- Ember CLI was being hijacked before potential errors
- Composer height issue in Safari on iOS 15
- Ignore canonical link for [medium.com](http://medium.com) oneboxes
- Do not show spoiler content in RSS
- Always show the creation date of posts in crawler view
- Correct highest post number for read topic tracking state.
- Better filter for groups search
- Error in Ember CLI environment
- Capture CC addresses for forwarded emails
- Perform `agree_and_keep` action only if possible.
- Correct the forwarded by user small post for group inbox
- Use random file name for temporary uploads
- Search was not being initialized properly.
- We weren’t properly resetting the mobile state between tests.
- Don’t attempt to migrate concurrently with other migrations
- Allow single string values on custom multiple select fields and not just arrays
- Increase chunk size to fetch title tag correctly
- Bug with navigation to the activity/topics and the activity/read pages
- In test mode, initializers were modifying classes over and over
- Make bindMobileUploadButton explicit for upload mixins
- Downgrade oj
- Visible “skip navigation” link on some themes
- Use named params correctly with dir-span
- Jump to reply button in post stream was not working
- Ensure id sequences are not reset during db:migrate
- Update PresenceChannel#present to work for redis 6.0
- Allow PresenceChannel to work on Redis 6.0
- Correctly apply unusual padding to profile dropdowns
- Capture S3 metadata when calling create\_multipart
- Correctly display GitHub code oneboxes
- Do not send emails to mailing\_list\_mode subscribers for PMs
- Topic reset\_new unscoped causing huge queries
- Do not prefix temp/ S3 keys with s3\_bucket\_folder\_path in S3Helper
- The `LogsNotice` service was never unsubscribing from the mbus
- Remove spacing from GitHub oneboxes
- Add plugin event to topic list user lookup
- Make user-card-metadata plugin outlet tagless
- Order outputted theme stylesheets
- Restructure temp/ folders for direct S3 uploads
- The empty state message was appearing in wrong moments on the user bookmarks stage
- Do not allow negative values for LIMIT
- Use original from address when forwarding to group inbox
- Minor SK3 styling issues in Safari
- Discard old search results if search term changes when moving posts to a different topic
- Sk3 wizard regressions
- Do not focus after search if dropdown is collapsed
- Close emoji autocomplete when the opening colon `:` is removed
- Reset preProcessorStatus state correctly for composer-upload-uppy
- Use file.id instead of file.name for media-optimization resolvers
- Adding debugging and fixing media-optimization-worker issues
- Always reload post’s raw when editing a post
- Pick-files-button component
- Make themes:update work with multisites
- Deprecated method should still behave the same.
- Revoking admin or moderator status doesn’t require refresh to delete/anonymize/merge user
- Do not show default locale option on site text customization
- Bookmark delete button alignment in modal-footer
- Include tags in quick search suggestions
- Add a string for the Unseen view tab tooltip
- Remove markers from all translated languages
- Log proper error message when SSO nonce verification fails
- Make site tasks work with duplicated uploads
- Unread group PMs should use `GroupUser#first_unread_pm_at`.
- If the category slug is not present then search via ID
- Move bookmark modal buttons into modal-footer
- Uses keyUp as widgets dont handle bubbling
- Do not display the color scheme ID in interface dropdown
- Allows paste from context menu to work
- Pass fileName to error handler for media optimization
- Clean up upload events properly in composer
- Composer Processing/Uploading status not clearing on cancel and trash
- Paste event not propagating from composer using Uppy
- Button alignment on messages
- Query the items in the queue to calculate a user’s flagged post count.
- Unescapes hash section with present to account for url-encoded chars
- `TopicTrackingState.report` not including unread for staff posts.
- Notification menu broken on older browsers
- Category group moderators can read flagged post meta\_topics
- Check if BasicBadge is enabled for TL1 welcome message
- Fix rtl style for pull right
- Prevents exception on malformatted messages
- Do not show private group flair on user avatars"
- Reuse avatar-flair component in group preview
- Errno::EXDEV when across filesystem boundaries
- Prevents s shortcut to generate an error
- Don’t swallow an error if we can’t run `yarn ember build`
- Do not show flair bg color if flair is not visible
- Update iframe url for simplecast onebox
- Update oEmbed URL for simplecast onebox
- Group inbox new filter not accounting for dismissed topics.
- Remove limit on dismissing unread and new messages.
- Restore server side route for tag messages filter.
- Wrong default notification level shown for group
- Remove Nokogumbo references
- Update draft count when sequence is increased
- Make rake site:export\_structure export uploads
- Use search message context on group message page
- Use `update_attribute` method to trigger callbacks.
- Remove ‘reply above line’ marker
- Consistently show history modal when clicking edit notifications
- Inline secure images with duplicated names
- Adjust poll buttons
- Use reply-to address for incoming emails if present
- Upload placeholder was missing line break
- Make search work with sub-sub-categories
- Do not show private group flair on user avatars
- Better composer placeholder handling during media optimization
- Validate value of custom dropdown user fields - dropdowns and multiple selects
- Remapping of uploads could fail during restore of backup
- Do not offer to save draft if invalid
- Typu in intercept-click
- Update draft count after creating a post
- Add users-directory-controls outlet to mobile template
- Allows authentication data to be present in bootstrap
- Avoid creating a post revision when topic tags have not changed.
- PM tags route should work for usernames with a period.
- Reduce input of to\_tsvector to follow limits
- User can change name when auth\_overrides\_name is enabled.
- Remove additional setting check for uppy-upload
- Changing the post owner didn’t update the `reply_to_user_id` of replies
- Don’t grant sharing badges to users who don’t exist
- Use correct URL in schema markup for post images.
- Do not raise exception when svg path is nil
- Show Uncategorized when unsubscribing
- Clear `Site#categories` cache when git sha changes.
- Don’t show the Tis Weekend option in date pickers on Sundays
- Don’t show the Later This Week option in date pickers on Sundays
- Better and more secure validation of periods for TopicQuery
- Show bulk button on PMs for all users
- Long poll if window becomes active
- Ensure browser history contains correct URLs
- Update the list of users after user joined group
- Validate email\_accent\_bg\_color color
- MyBB importer exposes deleted posts
- Manually adds frowning\_face\_with\_open\_mouth for apple
- Don’t proxy `/qunit` URL when using Ember CLI
- Force timeline/progress to re-insert into DOM on topic change
- Show user filter hints when typing `@` in search
- Allows to use icon-picker in wizard
- Allow only groups with flairs to be selected
- Consider 100 years suspension as permanent (instead of 500-years suspension)
- Display warning when SSO email is different from invite email
- User directory - correct variable names
- Serialize flair group ID for preferences page
- Change email from to not have via site\_name for group SMTP
- Toggle search menu when click the same button
- Remove hardcoded value when displaying incoming messages count.
- Alignment of user badges in user card
- Don’t allow category and tag tracking settings on staged users
- Media optimization setting was misnamed
- Disable the post submit button during image processing properly
- Clear stale status of reloaded reviewables
- Use correct setting for [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) card background overrides
- Ascending/descending sorting in the group membership requests page
- When updating timestamps on topic set a correct bump date
- Simplify and improve choosing favorite badges
- Debounce group name validation correctly
- User’s “Top badges” grid
- Add order to outputted stylesheet link tags
- Problems with choosing favorite badges
- Assets for the theme tests page are not compressed
- Issues with custom icons in themes
- Remove button to dismiss theme error messages
- `user/badges` grid fix
- A memoization bug in UserLookup and refactor
- Use array to keep best link for each onebox
- Use Terser for minification even if uglify-js is not available
- Don’t try to load badges if there none left
- Email threads sometimes not grouping for group SMTP
- Use rem for font sizes in post headings
- Don’t use `user_generated` images as avatar images in Oneboxed Twitter content
- Don’t downcase “all groups” in dropdown
- Allow uppercase letters in automatic group names
- Do not show invalid option in flair chooser
- Set user flair group to primary group
- Various translation string fixes
- Suggest current username for staged users
- Admin\_user\_response schema
- Use created\_at if last\_posted\_at is null
- Show correct dates in topic timelines
- Scroll to top on badge pages
- Let staged users choose their username
- Switch logos live when changing color schemes in user prefs
- Let user clear their flair group
- Can\_admin\_group should be true when creating a new group.
- Handle storage providers not implementing ACLs
- Do not interpret backreferences in email content
- Do not wrap flair title in chooser
- Do not prevent other topic timers running on error
- Check type of existing reviewables when new reviewable is created
- Fix error message for fix\_missing\_s3 rake task
- Set CSP base-uri to `self`
- `fix_missing_s3` task fails on failed upload (take 2)
- Do not stop `fix_missing_s3` task if saving an upload failed
- Maintain order when updating notifications
- Handle SMTPServerBusy for group smtp email
- Multiply ratelimiter leniency for own discobot certs
- Poll wasn’t showing all voters
- Handle edge cases for group SMTP email job
- Respect personal\_email\_time\_window\_seconds in group SMTP
- Build quote share URL using post number, not post ID
- Load the category when the category\_id attr is present.
- Do not reload whole directory table on username input change
- Invalid link definition in bootstrap-json
- Update locale keys for watched word logs
- Delete old reminder topic timers
- Show empty search results sets
- Make non-transactional migration idempotent
- Set class on color scheme links in bootstrap
- Reorder and hide topic timer options
- Child themes being precompiled multiple times take 2.
- Rename ninja edit terminology to grace period
- Detect decode failures earlier in image optimization pipeline
- Detect resize failures in the client size image optimization
- Don’t translate TrustLevel name when generating links
- Typo in discourse
- Reintroduce add group user by email
- Do not close the merged topic if the first post wasn’t merged
- Clear appropriate cache when updating font settings
- TL4 users cannot delete others posts
- Do not redirect to a topic user cannot see
- Ignore canonical link to localhost
- Child themes being precompiled multiple times.
- Problem when `[]` custom field is send
- Always render topic counts
- Use absolute URL when redirecting SVG sprite path.
- Ensures we don’t apply charts options to other modes
- Include user\_field\_ids in pagination URL for directory items
- Some admin reports (notably backups) were not showing up
- Do not call ‘set’ in destroyed directory table component
- Get all groups for user directory dropdown
- Flaky search-spec
- Remove legacy topic timer code
- Handle image decoding failure in composer image optimization
- Remove extra margin from share topic modal
- Only delete the word/phrase when the ‘x’ icon is clicked
- Topic level bookmark button
- Do not show In Reply To for group SMTP emails
- Missing category edit icon.
- Improve participant display in group SMTP emails
- Backfill topic\_id for EmailLog
- Nil-filled CF arrays were not being deleted
- Translation of plugin directory column on mobile
- Follow redirects for inline/mini onebox
- Always serialize the correct attributes for DirectoryItems
- Increase max favorite badges to 6
- Table header translations on admin users list
- Manually update DirectoryItemSerializer attributes on directory column change
- Check all migrations for dropped columns/tables during restore
- Load more users URL respect group param
- Make favorite work with multiple grant badges
- Ignore missing uploads in theme settings
- Absolute path for directory-columns.json
- Ignore posts needing approval when calculating reviewable counts.
- `fix_missing_s3` rake task could fail due to missing upload
- ShrinkUploadedImage was broken since cb12a721
- Ensures average is applied on last incomplete segment
- Set random values for digest\_attempted\_at
- Previewing theme components broken when component has no SCSS.
- Remove duplicate add\_unsubscribe\_link hash key
- Render detailed\_404 page from 403 responses
- Show link count only once for oneboxes
- TL4 users can see their deleted posts
- Downsize image last when saving uploads
- Correctly implements average for reports
- Multiple links being generated for non-theme targets.
- Color scheme stylesheet not loaded when no default theme is set.
- Prevent resurrecting old topics via email reply for group inboxes with SMTP enabled
- Remove List-Unsubscribe header if using group SMTP
- Do not display twice a user who changed vote
- Do not check for duplicate links in Onebox
- Add word boundaries to replace and tag watched words
- Update post’s raw from server response
- Mobile layout for watched words admin UI
- Ensures validValues is an array
- Do not add mailing list headers to group SMTP emails
- Dismiss new keyboard shortcut not working
- Drop and recreate column properly for directory\_columns
- Use correct property for jump-up embedded post link
- Allow SVG uploads if dimensions are a fraction of a unit
- Broken DB issue following a reverted migration
- Adding multiple auto tags in watched words admin UI
- Translations of table headers in group members directory
- Prevents mode to be forced to unexisting mode
- Resend only pending invites
- Destroy invites of anonymized emails
- Ensure we dont collapse data multiple times
- Move allow\_unknown\_sender\_topic\_replies outside SMTP/IMAP box
- Make sure reset-new for tracked is not limited by per\_page count
- Ember CLI was losing some preloaded data
- Sort filelists to ensure consistant asset precompilation hash
- The topic level bookmark button stops working if choose ‘No’ on the clearing all bookmarks confirmation modal
- Make avatar-flair component fail gracefully group info missing
- Skip failing tests for composer
- Update raw and cooked immediate after edit
- Make sure topic\_user.bookmarked is synced in more places
- Validate upload is still valid after calling the “before\_upload\_creation” event
- Respect nofollow exclusion setting in topic featured links.
- Refresh post stream after in-place post updates
- Some absolute links were causing full page reloads
- Show group Email settings if just SMTP enabled
- Adjust styling of first notification
- De-prioritize composer category on navigation
- Do not render user-avatar-flair element when user has no flair
- Flaky javascript tests with fake timers
- Clicking on a URL with a different url prefix did not work
- Do not reload post if raw is present
- Can’t bootstrap with ember-cli when login\_required is enabled
- Link up reply to post correctly when emailing group
- `count` is not defined lint error
- Lots of plugin tests were using old, non-Ember compat CLI APIs
- Do not block SVG sprite bundle if a file is missing
- Theme tests should work in production
- Errors loading secure uploads when secure uploads is disabled
- Hide image resize controls in staged edit content
- Search menu regression
- Handle timeout errors when sending push notifications
- Quoting Oneboxed content should exclude formatting
- IMDb links were being oneboxed as posters
- Do not enqueue :group\_smtp\_email job if IMAP disabled for the group
- Size of emoji in poll options
- Use newly created PushSubscription object for push test message
- Allow any other tag to be a synonym
- Composer doesn’t show an error message in case of a network issue and stops updating draft after
- Misspelling in associate\_accounts\_controller\_spec.rb
- Ensure images in polls don’t cause abrupt scrolling
- Clear post action types application serializer fragment cache.
- Return `naturalWidth` and `naturalHeight` for Composer image sizes
- Redirect non-staff user to homepage when deleting own topic
- Escape periods in current user’s username before generating `RegExp`
- Change order of topic\_tracking\_state SELECT SQL
- Dismiss topics keyboard shortcut not working
- Ignore `allowlistgeneric` Onebox image sizes
- Add check for if element doesnt exist on ensureDropClosed
- Show required tags to staff by default and override limit
- Active record annotation of topic model
- Do not require trust level to invite to group
- PG::StringDataRightTruncation when linking posts
- Moderator actions and small actions shouldn’t prevent fully merged topics from closing
- Split link watched words from replace
- Return an empty result if response from Amazon is missing expected attributes
- Don’t store translated trust level names in anonymous cache
- Delete internal links when moderator deletes a post
- Translation issue on the bookmark modal
- Update non-Ember CLI ember-buffered-proxy
- MessageBus would stall after 20 minutes of inactivity
- TL4 users cannot unhide posts.
- Errors that’re triggering by too long excerpts
- Maintain notification order by priority
- TL2 promotion message from discobot didn’t use user locale
- Giphy oneboxing when the response is an image
- Support pausing GIFs for giphy/tenor oneboxes
- One-by-off error in topic show action
- Do not mark badge image uploads as secure
- Don’t update `allow_title` column of existing badges in seed.
- No error when double save post with poll
- We can’t use `?.` yet
- Automatically expire bad push channels
- Close hyperlink modal on ESC key
- Make poll options tabbable
- Add body class and remove jQuery usage in footer-nav component
- Use a better default for the low\_priority\_threshold setting.
- Use max\_category\_nesting when importing categories
- Make UI match server behavior for external-auth invites
- Hide a post’s pending flag count from TL4 users.
- Show inviter name in email’s from field
- Better focus support for modals
- Properly break overflowing long links in topic map
- Sort user bookmarks by reminder date
- Simplify post and topic deletion language
- Ignore max excerpt length for div excerpts too
- Do not call :post\_edited webhook twice when editing OP
- Slow mode dialog doesn’t remember Enabled Until value
- Allow add email to group if user can invite
- Update upload secure status when revising posts
- Disable lightboxing of animated images
- Review Queue Query parameters were not refreshing in Ember CLI builds
- Correctly publish messages unconditionally to admins
- Specificity and other fixes for WCAG colors
- Do not validate uploads when running `uploads:fix_missing_s3` task
- Backtracking re-render" assertion in future-date-input
- Do not include contact url & email in client site settings payload

---

_[View the full topic](https://meta.discourse.org/t/discourse-version-2-8/182818)._
