Discourse Version 1.5


(Jeff Atwood) #1

Focus

  • :white_check_mark: Rewrite composer toolbar in Ember

  • :white_check_mark: Ability to overwrite any translation with arbitrary string

  • :white_check_mark: Ability for groups to have a “group owner” than can add and remove people from the group

  • :white_check_mark: Make group messaging a first class citizen in Discourse, allow PMs to groups, allow group mentions (under controlled circumstances)

  • :white_check_mark: Make more system-sent email text customizable in admin, customize, text

  • :white_check_mark: Fix topic splits having owner of person who split the topic

  • :white_check_mark: Replace “Dismiss Posts” and “Dismiss Topics” with “Dismiss” and a pop-up explanation / selector

  • :white_check_mark: Smoother loading of stream, show placeholder posts while loading batches

  • :white_check_mark: Update emoji support, use slight smile

  • :white_check_mark: add and remove users in messages generates post notification in topic

  • :white_check_mark: Refactor user page for significantly better group messaging support, and more speed. Also add summary page.

  • :white_check_mark: Improve blocked state so that it can be triggered by admins and is more useful overall

  • :white_check_mark: Make top criteria formula multipliers controlled by site settings

  • :white_check_mark: Rebuild post / topic rendering with custom virtual DOM code to bypass Ember and speed up by at least 3x (ideally 5x to 10x) (see blog post)

  • :white_check_mark: Private support portal email inbox improvements (essentially much better first class group email support, staged user accounts, etc)

  • :white_check_mark: Better control of like notifications and better notification default so you know when old posts are getting liked

  • :white_check_mark: Improve email context options (per this topic) and new less verbose email context default

  • :white_check_mark: Longer default passwords, better verification of changed email addresses for staff, and notification when email is changed for regular users.

  • :white_check_mark: Add three new bronze/silver/gold badges for likes, including badge for using all likes in a day

  • :white_check_mark: Full screen mobile editor with preview/toolbar

  • :white_check_mark: Better badge page formatting and longer, more humane badge descriptions

Codename

Start date

September 28th, 2015

Planned release date

March 31st, 2016


Using Discourse as a internal Knowledge Base / Intranet
New localizable resources
Show name of @Mentioned group inside topics
Mentioning groups through email posts
PAID: Sidebar Creation
"Reply as linked Topic" - clickable link target is double the length
Add moderator for specific category or subcategory
New option: auto-select language by HTTP header
Group mentions and messages
Group owners for managing group membership
Checklist: A simple markdownified checkbox-plugin with inline-updating
Add icon to a topic
Using Discourse as a FAQ Help Center
How to rename "Latest" in the top menu?
HTML anchors should be added
Linking to portions of a post
How to change the account confirm email content
Improving Blocked User State
Category-Specific Moderators, phase 1 RFC
Send a Private Message to a User Group
Using Discourse as a internal Knowledge Base / Intranet
Translations for v1.5
Switching Your Discourse from Mandrill to Mailgun
Top criteria formula multipliers
Discourse Version 1.6
Bulletpoint generation broken
(Neil Lalonde) #3

NEW FEATURES

  • RSS feed for user posts and topics
  • Disable post editing when the post has active flag
  • Warn about mailing list mode if it is checked
  • Allow admins to enter badge long descriptions
  • Site setting for suppressing categories from digest email
  • Limit daily emails per user to 100 per day via site setting
  • Separate API endpoints for public and private posts
  • Site Customizations can use the plugin api
  • Add group posts and mentions RSS
  • Warn a user when they have few likes remaining
  • In:pinned and in:unpinned search filters
  • Add option to include topics from trust level 0 users in digest emails
  • Add user profile public fields plugin putlet
  • New ‘manual_polling_enabled’ site setting
  • Add site setting for setting locale from header
  • Admin dashboard check when email polling errored in the past 24 hours
  • Only allow sidekiq in master site when hosted on multisite
  • Generous badge
  • Gives Back badge
  • Admired Badge for high like ratio
  • Implement before and after filters in search remove max_age and min_age
  • Revert post to a specific revision
  • Master-Slave Redis configuration with fallback and switch over.
  • Automatically add http:// when adding links without them via composer
  • Hide elided part of incoming emails behind a [details] tag
  • Add site setting for disabling mailing list mode site wide
  • Add rejection message on rejected IncomingEmail
  • Send email when hitting a rate limit
  • On iPhone 6 or wider show mobile toolbar by default.
  • If user enables or disables mobile toolbar, remember state in local storage.
  • Instagram OmniAuth login methods
  • Support multisite in PostgreSQL fallback adapter.
  • Upgrade rack-mini-profiler
  • Like notification frequency of never
  • Adds ~200 more emoji
  • Roll up likes for notify on all likes
  • (WIP) Send email notifications in user’s preferred language
  • (WIP) Set locale from Accept-Language header
  • Enforce admin password validation when signing up via developer email
  • More digest email frequency options. Digests can be sent as often as every 30 minutes.
  • Compose a new pre-filled private message to a group via URL
  • Admin Banner when Logster logs is getting flooded.
  • Users can select how frequently they are notified on likes
  • New setting min_admin_password_length and better default
  • Add importer for SourceForge discussions
  • Disable removal of backups from S3
  • New ‘allow_all_attachments_for_group_messages’ site setting
  • Add RSS feed for top topics
  • Log backup operation
  • Added outlet user-activity-bottom
  • Add “email in-reply-to user option”
  • Add support for multiple incoming emails for groups & categories
  • Category/topic importer skips objects that it has already imported.
  • Keep original title when sending email notifications about a PM
  • Pending flags reminder is sent as a group message to staff instead of sending an email to the contact email site setting.
  • Show a new modal when suspended users try to log in
  • Stop removing empty categories users have access to from /categories page
  • Allow users to control how many previous replies they get
  • New pop3 polling configuration admin dashboard check
  • Start tracking information about migrations that run
  • Don’t move muted messages back into inbox
  • Use virtual dom framework for faster post rendering
  • New incoming email details modal
  • Blank global settings should not shadow
  • New ‘suppress_email_logs_after_days’ site setting
  • Add ‘New Topic’ button on full page search view
  • Automatically sync “move to inbox” / “archive” state on messages
  • AR adapter to failover to a replica DB server.
  • Filter admin reports via user group
  • Suggested messages for messages
  • Clicking envelope takes you to inbox
  • New ‘raw email’ modal when listing rejected emails
  • Staff should be exempt from user mention limit
  • DiscourseEvent hook for server side markdown context.
  • Change group default tracking level to tracking (database changes)
  • By default users track a group (as opposed to watch)
  • A rollup counting number of messages in the group inbox to tracking users
  • Log admin/moderator grant/revoke action
  • Export/import topics and categories from one Discourse site to another. (Early-access alpha greenlight. More to do…)
  • Pick featured badges in summary page
  • Blocked users can send and reply to private messages from staff
  • Make top criteria formula multipliers controlled by site setting
  • Make top criteria formula multipliers controlled by site
  • Make it easy to override the home logo
  • First pass at user summary page
  • Add email query param to login, signup, and password-reset URLs to prefill form
  • Decorate category hashtag links.
  • Better email in support
  • New incoming_email model
  • Infinite scrolling in emails admin
  • New ‘emails:import’ rake task
  • Link to filtered badge list from notification
  • You can not drill down and see why you have badges
  • Show date ranges in top period chooser
  • Staff can block users, which prevents them from creating topics and replies
  • Allow users to wikify their own posts based on trust level
  • Go to inbox after archiving a message
  • Don’t add admins to topic allowed users if already in group
  • Properly style whisper email notifications
  • Add small action post when adding/removing users in messages
  • Automatically archive welcome messages for site_contact_user
  • Upgrade message_bus
  • Autolinking to category using hashtags.
  • Streamline ‘Reply as linked Topic’ feature
  • Upgrade to Sidekiq 4
  • Upgrade sidekiq to version 4.0
  • Add parameter that allows you to filter directory items on user
  • Show posters as opposed to participants in messages
  • Allow users to archive messages from message page
  • Perform a server side replacement of unicode emoji
  • When all posts in a topic are moved, close the topic
  • Make category logo clickable
  • Better unfurling of Discourse topics on Slack
  • Onebox internal audio or video files
  • Allow users to archive messages
  • Make “trust level 3” requirements time period admin setting
  • Make trust level 3 time period admin setting
  • Display username user dropdown
  • User page refactor
  • Log site text changes
  • Notification_level on a per-group basis
  • Setting to disable avatar education message
  • Better email reply parsing
  • New gem discourse_email_parser
  • Split up group PMS on user page
  • Warn when setting auto-close for right now
  • Allow group members to see all messages on group page
  • New ‘My Groups’ messages filter in user page
  • Ability to send emails to a group
  • Zoho importer
  • Reply Placeholders in Stream
  • Display warning on top of composer for group mentions
  • First class messages to groups, you can select a group as a target of a message
  • Show group mentions and topics in groups page
  • First class group mentions built in
  • Can override any translation via an admin interface
  • Allow CJK to be tokenized in non CJK sites.
  • Compose a new pre-filled message via URL
  • Add setting pending_users_reminder_delay to configure when to send reminders to moderators about user approvals based on how long new users have been waiting
  • Admin interface for editing email templates
  • New setting to allow all caps posts
  • New ‘automatically_unpin_topics’ user preference
  • Overwrite server side I18n keys with API
  • Can take over a staged account
  • Add ‘navigation-categories’ class on ‘body’ when visiting /categories
  • New ‘backup_with_uploads’ site setting
  • New ‘backup_time_of_day’ site setting
  • Support group owner, capable of controlling group membership
  • New ‘automatically_unpin_topics’ site setting
  • Replace composer editor with ember version
  • Add support for custom emojis via plugins
  • Automatically unpin topic when user reaches bottom
  • Remove muted topics from suggested and latest
  • New hide_user_profiles_from_public site setting
  • Bulk Unlisting of topics
  • Change user groups in bulk via admin
  • New Dismiss posts/topics modal
  • New markdown editor re-written in Ember
  • Support linking to a specific revision of a topic/post
  • Add handle_mail admin route
  • Add connnection reaping based on maximum age
  • New ‘default_opengraph_image_url’ setting
  • Allow auto provider to specify “full screen login”
  • CSS_COMPILE_THREADS env setting for compiling CSS concurrently
  • Make trust level for message sending configurable
  • Add ‘change ownership’ button in post admin wrench
  • Allow default period to be set for Top Page
  • No need to cap new and unread together anymore
  • Skip batches if posts or messages exists
  • Allow DONT_MINIFY flag in production for assets:precompile
  • Fragment cache for use with serializers
  • Add context for cross topic links
  • Add title expansion for off topic quotes
  • Mark whisper as experimental
  • Remove dependency of Redcarpet
  • Add site setting use_admin_ip_whitelist to enable/disable the whitelisting of admins by IP address
  • Add web manifest for Chrome users.
  • Upgrade to Rails 4.2.4
  • Log staff actions for Category changes.
  • Admin dashboard data for user profile views.
  • Track user profile views.
  • Add views to UserProfile.
  • Create UserProfilerView.

PMing a group no longer sends them emails?
MOSS Roadmap - Mailing lists
(Neil Lalonde) #4

BUG FIXES

  • Pinned picker in IE11
  • Only show regular posts in RSS feed
  • Romanian pluralization rules using modules
  • Badge grant count wasn’t filtered to the current user in the user summary
  • Allow post editing but do not allow ninja edit for active flagged post
  • Add missing MessageFormat files for fa_IR, pl_PL and tr_TR
  • Check we used the right encoding when parsing incoming emails
  • Quoting a section inside expanded reply misattributed
  • Only hide overflow on cooked content
  • Unread and new count not removing deleted topics on the fly
  • Unread PMs interfering with unread count
  • Replace reference to Google_oauth2 with Google during signup
  • Only validate username when changing it
  • Like badges should respect bronze/silver/gold colors
  • All badges got revoked due to ensure consistency query
  • Remove deleted wiki color from existing color schemes
  • If badges are disabled badge pages should 404
  • Don’t show badges in summary page if badges disabled
  • Double XHR request when loading more badges
  • When ensuring consistency also delete orphan badges
  • External hyperlinks broken in badge cards
  • Strip out links from badge titles
  • Regression in badge grant admin page
  • Incorrect badge counts when restricted to a username
  • Badge display name should be translated from server.en.yml file
  • Stability issues with multiple polls
  • Fallback to description if badge long description is missing
  • Query for category hashtag should be case sensitive.
  • Return a proper error message when sync sso fails.
  • Description for custom badges were not showing up
  • Broken link
  • For real this time :’(
  • Typo
  • Broken Javscript test
  • Basic badge description was missing
  • Minor badge page issues
  • Badge loading more was stuck
  • Large widths, weird button floating on badge view
  • Broken test
  • Unhandled extensions like .php on static routes will show the usual not found page
  • Also support nil values for the site settings
  • If site settings are missing don’t do anything
  • Increase read_timeout when downloading avatar
  • Rare concurrency error when updating timings
  • Pluralize logs notice message.
  • Error when sending a private message to a group in some cases
  • Don’t log validation errors for sso
  • Crazy large ids should not raise exceptions
  • Overlapping quote reply button on Android.
  • Incorrect scope.
  • Quote reply button was covered by iOS menu.
  • Don’t process infinite scrolling while safari hacks are active
  • Invalid YAML
  • Blue notification instead of green for replies/mentions in PMs
  • Close existing polls in closed topics to keep old behaviour
  • Text title in header should use header primary colour instead of blue
  • Properly handle failure in poll mailbox job
  • Update RSS description for public/private posts
  • Allows polls on closed topics
  • Allow displaying posts by deleted users.
  • Prevent moderators from seeing other users bookmarks
  • Added underscore to my_redirect regex
  • Assigning wrong value to variable.
  • Redirect output omniauth log to Rails logger instead of stdout
  • Another ES2015 feature that snuck by
  • Blank search was broken
  • .js files can’t use ES6 syntax
  • Users with invalid website in profile get 422 error when viewing topics and other routes
  • Admin javascript bundle was broken
  • Use a logging table for daily likes given. Use it for badges.
  • User ‘UserBlocker’ when blocking a new user
  • Include pinned status in search results
  • Pink hearts on the badges section.
  • Vertical centering of header, using display: table
  • Thank you badge had incorrect criteria
  • Not showing content on topics for mobile crawler
  • Notify on bronze popular link and nice share
  • Ensure consistency of user options
  • Don’t extract links from elided parts
  • Setting owner on topic should not bump topic
  • Plugin links.
  • New badges ended up with no grouping
  • If we’re using the crawler layout, don’t skip on mobile
  • When changing owner of last post user list on topic incorrect
  • Sync users bookmark state when splitting topics
  • Length for hashtags, increased to 101 characters.
  • Allow digest unsubscribe text to be overridden
  • Topic entrance wasn’t showing on mobile. Tidied up some stuff.
  • Do not allow normal users to wiki edit-expired posts
  • Skip validation when replying via email for staged users
  • Post admin menu was hidden on mobile
  • Delete spammer button was never shown in flag modal
  • Missing semi colon
  • Replace emoji in local oneboxes
  • Newly created categories were not showing up
  • On mobile jumping to replies was not working
  • Use MD5 of the email_string when there’s no ‘Message-Id’
  • Link count on the topic sidebar
  • Was leaking tagName across plugin outlets
  • Support emails in with weird encoding
  • Don’t send out elided message in email notifications
  • Redis hostname may resolve to nothing.
  • Load Redis patch much earlier.
  • When showing subcategory list you couldn’t see the bulk button
  • Top map is actually expanded when there is a summary
  • Bolding text when selection has a leading space
  • Incorrect stat for topics_entered in user directory
  • Saving a user field as required didn’t work the first time
  • All unicode replacements beside words. Omit some symbols.
  • Topic map should be expanded by default when >` 50 posts
  • Double reply in stream when inviting to a PM
  • When a post is edited by someone other than the original author and a mention is added, the mention notification is from the person who edited
  • Ensure email in address insn’t used it both Groups & Categories
  • Add missing translation in groups page
  • Spinning favicon in Firefox
  • LogsNotice does not have currentUser attribute.
  • FastImage#size returns nil if it can’t fetch the image size.
  • PostgreSQLFallbackHandler was bouncing in and out of readonly.
  • Collapse ‘replied’, ‘quoted’ and ‘posted’ to the same notification
  • Render About page for web crawlers
  • Emoji.clear_cached wasn’t deleting the right caches
  • Add path to cookie on subfolder installs
  • Better RateLimit description in rejected IncomingEmail
  • Export user list based on trust level filter
  • RSS description might be nil.
  • Validate user locale for email notifications
  • Pin ESlint to 2.2.
  • Rate limit do/undo on post actions
  • Don’t limit the count of badges to 96
  • Don’t use destroy_all when delete_all is enough
  • Search aliases but don’t add them to the results
  • If user undos like, and relikes notify
  • Less restricting ‘BACKUP_ROUTE_FORMAT’
  • Redirect url after anonymizing a user
  • Broken test :fired:
  • Don’t show trash can for user deleted posts
  • Topic view not working when Redis is readonly.
  • Wrong flag images
  • Don’t substitute emojis within code blocks
  • Have the approve post count setting work as advertised
  • Logout not working
  • Use much less aggressive cloaking
  • You shouldn’t be able to convert a whisper to a moderator post
  • Autocomplete wasn’t properly updating d-editor
  • Regression with categories when replying as linked topic
  • Jump on mobile when cloaking
  • j keyboard shortcut skipping first post in topic.
  • Don’t cloak videos once they begin playing
  • When cloaked, posts would break jumping to top/bottom
  • Remove existing characters when a new emoji is selected.
  • Follow redirects when downloading favicons.
  • Don’t tell staged users they can visit topics in email notifications
  • ESLint
  • Don’t stop youtube videos from playing on cloak
  • Subcategories should show pills
  • GA Universal tracking had a bug
  • Some re-render functionality in widgets, added more coverage
  • Quirky scrolling position with keyboard use
  • Missing inbound / outbound classes
  • Who liked was not updating
  • Can’t shadow cooked in strict mode (Safari)
  • Enable post username to be specified in embedded comments
  • Mobile lacked 404 page styles
  • Default to first page when page params is an array.
  • Disable cloaking in the test environment
  • Properly handle invalid from header
  • Array#first with block will return the first element if nothin…
  • Array#first with block will return the first element if nothing matches.
  • Newlines around attachments in received emails
  • Staged user doesn’t get notified for replies in topics they created in secured categories
  • Topic and Post may be nil.
  • Stop using regex to detect mentions
  • Support for hyphens in group name
  • Link to topic when clicking on up arrow
  • Switch to desktop not working
  • Don’t link avatars in “in reply” section of post
  • User deleted posts weren’t red
  • Overflow CSS was hiding selecting posts buttons
  • Make sure we write inside a lock.
  • Invite link should not auto-accept invitation if user is already logged in
  • N+1 query on topics view page.
  • Broken autocomplete on Android
  • Cleaner error handling for multiple autocomplete matchers
  • Broken tests
  • Load fallback locales after reloading translations
  • Load translation overrides for more than one locale
  • Use fallback locales when searching for translations
  • Arrow in quotes was pointing the wrong way
  • Jump to embedded was not working when the post was far away
  • Broken links on admin dashboard in Top Referrers section
  • Staged users couldn’t create new topic in a private category via email
  • RSS feed must have unique GUID
  • Don’t try to optimize large PNGs (takes too much time)
  • Add global hidden overflow on all topic bodies
  • Publish notification state when notifications are read
  • Clear notification bubble when notification is read
  • “your sure”
  • Don’t suggest invalid username
  • Less safe API for icons
  • Sharing a post was broken
  • Double click counters
  • highlight.js is used, but for highlighting text, not code.
  • Bad merge
  • Don’t create an EmailLog when we can’t send a digest
  • Editing a post wasn’t refreshing properly
  • Notifying users via flag wasn’t refreshing the UX
  • Deleting selected wasn’t marking them as deleted
  • Can force all shadow trees to rerender
  • Flag button was visible to anon
  • Sends an email notifcation when a user’s post is linked
  • Show name in preferences when SSO is enabled and is used to override names
  • Topic summary description text was conflicts with reply counter
  • Find_by_attribute method in Rails 4.5 is case insensitive.
  • Keep whitespaces when replacing direct link to external images with local images
  • Latest eslint doesn’t recognize TypedArray
  • Cope with unset notifications on the component
  • Always ensure notifications are treated as read once clicked
  • False overrides should be permitted via ENV
  • Restore in development mode connects to the wrong database
  • On mobile some elements were overlayed on each other
  • Pending flags reminder email was ignoring the ‘notify about flags after’ site setting.
  • Queued posts were not being removed from the stream
  • Emoji in the post gutter weren’t being rendered properly
  • Couldn’t jump to small action posts
  • Wasn’t jumping to new topic
  • Jumping to new posts was broken
  • Whitelist post_types used in context in email notifications
  • Bind the suggested topic/messages text
  • Update log level to warn.
  • Placeholders should not show up to non-admins when deleting posts
  • Not tracking posts that dynamically load
  • Clear bookmarks didn’t update the UI properly
  • Posts should have auto updating dates
  • Double hairline in time-gaps on mobile
  • Improved like animation
  • Small post actions weren’t applying the deleted class
  • Use chrome’s scrollRestoration to fix scrolling uses with history
  • Use RFC-compliant previous replies separator
  • Odd scrolling
  • Support the plugin-api for decorators
  • Tab was broken with keyboard shortcuts
  • Suppression below was broken
  • The dom was slightly incorrect, messing up mobile rendering
  • Avatars in small post actions weren’t clickable
  • Upwards scrolling was broken in a topic
  • Badge page was using poster-name component
  • Janky animations when liking or expanding the post menu
  • If last post was deleted the gap was not displayed
  • Quoted text wasn’t inserted when replying as new topic
  • Reply as New Topic was not fading in properly
  • Could like your own posts if they already had likes
  • Small actions weren’t showing the avatar of who did it
  • Placeholders were missing when scrolling downwards
  • Bookmark by keyboard was broken
  • Couldn’t like via keyboard
  • Read post icon was not fading
  • Include small actions when determining what’s on screen
  • postChangedRoute was firing after destruction sometimes
  • Regression with quickly hitting back button in vdom branch
  • Regression with time-gap showing decimals and no clearfix
  • Should have been ‘category_slug’
  • Client settings were not being published.
  • Don’t allow blocked user to send emails in
  • Close autocomplete is term is blank.
  • Category hashtag is cooked incorrectly.
  • Add user id in the admin user routes
  • Prepend the user id before username in admin user routes
  • Avatar and username should be side-by-side in post-notification email
  • Properly defer authentication complete
  • Remove invalid ‘http://’ website from profiles
  • Don’t update autocomplete when removing the key.
  • Validate user website
  • Handle cases where we only pass the notification type rather than the notification id when sending user email
  • Add a lock to ensure only a single thread is running each time.
  • When CDN assets are not in root path source maps fail
  • Skip jwt encoding for auth
  • PrettyText should return the valid slug.
  • Users.map should be results.map in xenforo import
  • Sending emails to mailing list subscribers wasn’t working
  • /signup route will show sign up modal for private sites too if they allow registrations
  • Also show Sign Up button on front page of private sites that allow new registrations
  • Local onebox on subfolder installs
  • Group import/export bugs in category exporter
  • Disable overrides in migrations
  • Don’t send empty email notifications for small_actions
  • Don’t poll the mailbox in development
  • Support incoming emails with no subject
  • Don’t use ‘Return-Path’ header to determine whether the email was auto generated
  • Add a 20 seconds grace period before sending a notification about a PM
  • Batch badge assigner was not including full info in notification
  • Redirecting breaks the back button.
  • Replace ‘discourse_email_parser’ with ‘email_reply_trimmer’ to better trim replies from plain text emails
  • Undefined method `number_to_human_size’ when email contains attachments
  • DistributedCache would fail serialization in some cases
  • Only create 1 email_log when an email is sent
  • TL3 users should not be able to edit title of archived topics
  • always create an EmailLog whenever we run the UserEmail job
  • Changing topic from one watched category to another watched category makes topic ‘new’ again
  • When a user got multiple replies to a topic, emails were missing
  • New user summary page was broken
  • Allow for large free disk space
  • Correct counts on user summary
  • Link to filtered down list of badges from summary
  • Do not allow new email to be duplicate
  • Return proper error message when email already exists
  • Missing tag in CSS.
  • Remove green background for wiki (this can be re-added via a customization if needed)
  • The build.
  • Don’t invite users with emails configured as ‘incoming’ (reply, group our category)
  • Associates email replies using both ‘In-Reply-To’ and ‘References’ headers
  • Email button padding for Outlook
  • Date picker on mobile
  • Enabling suppress_from_homepage should only remove the category from the homepage
  • Disk_space should be a BigDecimal to handle large disk (closes #3923)
  • Emoji in Discourse onebox is wrapped in square brackets.
  • Username suggester to account for the more relaxed username rules (closes #3907)
  • Refresh admin report was broken
  • Deleting characters on category hashtag was not triggering autocomplete.
  • Make eslint happy.
  • Don’t track category-badges links.
  • Localize S3 region names
  • Add link to user profile for staged users
  • Add missing ‘user_replied_pm’ translation
  • Don’t invite users with the same email as ‘reply_be_email_address’
  • Category-dropdown-menu badge-wrapper width
  • Message_archived? not set correctly for groups
  • Raise proper error if system message creation fails
  • Skip validations when creating system messages
  • Use declared constant.
  • Only send email notifications for regular and whisper type of posts
  • Rebake all HTML due to handlebars upgrade
  • While changing site text, old and new values can be nil
  • Clashing category slug.
  • Validate email when changing via user preferences page
  • Precompiler should apply get magic too
  • Allow staff members to edit staged users preferences
  • CDN URL should start with protocol
  • Use CDN URL for audio/video uploads
  • Set minimum value for email_token_valid_hours setting
  • When rouding numbers in poll resuls, don’t select a never-been-voted-for option to round up from zero
  • If topic did not save do not attempt to skip inbox
  • Incorrect subfolder authors urls when embedding
  • Typo.
  • ‘cancel_scheduled_job’ wasn’t working due to sidekiq upgrade
  • Download my post button was broken
  • Incorrect subfolder urls when embedding
  • Adding the ‘contains_messages’ column back
  • Mentions regex server-side (ie. don’t count email addresses)
  • Disable scheduled jobs when in readonly mode
  • Missing username key
  • Word_count wasn’t working with non-latin sentences
  • Correct user_history that was off by one
  • Missing suspension reasons (and many other messages)
  • Don’t include child categories when term is black.
  • Username mentions weren’t working when immediately followed by a dot
  • Proper regex for category slug validation
  • Don’t use the CDN for attachments when login is required
  • User/group/category mention dialects with less strict matchers
  • Typo in site settings.
  • Ignore case when comparing category name and search term.
  • New users were not able to self delete
  • Limit number of items for category hashtag autocomplete.
  • On mobile forgot password was broken
  • Only invalidate password reset links using javascript
  • When 410 is received, display proper error message instead of generic.
  • Do not override existing translations.
  • Ico are images too
  • Group notification drop down not populated on user page
  • Hide bookmarks tab on other peoples profile (unless self or admin)
  • Missing download my posts button
  • Moderators had no way of seeing responses and edits etc
  • If people link own post, watchers not notified
  • Disallow renaming of system badges
  • Disallow renaming/deleting of system badge groupings
  • Missing Mark all as Read button
  • Hidden posts that are edited by the author and unhidden could not be flagged by the same users again
  • On chrome, focusing on a recently changed textarea would scroll
  • Setting tl3_min_likes_received too high can make it impossible to be promoted to tl3. Cap the min number of days over which those likes must be received.
  • Remove max value of tl3 requires days visited site setting because tl3 time period is configurable now. Setting tl3 requires days visited higher than tl3 time period will disable tl3 promotions.
  • Pluralization error when only a pluralization key is overridden.
  • Correctly import users and passwords from phpBB 3.1
  • Pluralization error when overriding translations.
  • Update vulnerable gems.
  • Forgot end :slight_smile:
  • Was refocusing on resize events
  • I18n Fallbacks were not applying correctly
  • Broken tests for slightly_smiling
  • Transparent background for emoji one slightly_smiling
  • Use default favicon if a bad favicon is specified
  • Ensure inactive users can’t email in
  • Show proper message on invite error
  • Missing unique index on category_users
  • Group messages notifications
  • Manually blocking/whitelisting an IP address wasn’t working
  • Reply as linked topic has [object object] in composer
  • Chrome scrolling page up when you expand likes
  • Not proxying protocol-less urls
  • Autospec not monitoring correctly
  • Prevent double notifications when replying to a group message
  • Update all does not trigger callbacks.
  • Check post edit/delete permission
  • When getting a reply by email, ensure it’s by the same user
  • Quote reply to new topic doesn’t add quote to composer
  • Automatic redirect after activating account on subfolder installs
  • Broken links to user profile on subfolder install
  • Allow .network as a domain name
  • Not searching group messages when searching private
  • Disable avatar education message when ‘allow_uploaded_avatars’ is
  • Keyboard shortcut to quote reply selecting wrong post.
  • Don’t crash if “latest” poster is missing
  • On clicking edit category button, notification level is set to default
  • Incorrect key when checking for primary tab.
  • Don’t sanitize header_instructions
  • Empty parentheses admin settings search
  • Trip password reset username/email
  • Flag button broken at the bottom of a topic
  • If a string was missing catch the throw
  • Missing site id lookup causing message bus cross talk in multisite
  • Error filtering for overidden values with no query
  • Autoclose message was not correct when immediate
  • Don’t show members of a group in the user summary
  • Avoid bang methods in Disqus importer.
  • Remove useless stub tests
  • Don’t show placeholder when triggering one post
  • Hairline should extend the full width when preview is hidden
  • Allow ‘/’ to trigger autocomplete.
  • Wrong period for quarterly reports.
  • Broken categories controller specs.
  • Admin logging should not log permissions if none has been set.
  • Preserve redirect URL when logging in via social logins
  • Serialize current user fields in standard user serializer
  • Issues with summaries and our Array
  • Jump to previously loaded post was broken
  • Remove console.log
  • Errors with summary views and placeholders
  • Firefox wasn’t focusing on d-editor
  • Switch to iframe when embedding YouTube playlist
  • Onebox links should respect nofollow settings
  • Chrome 47 started showing square outline around avatar on user cards
  • ‘.intersect?’ isn’t available in older version of ruby
  • Properly re-compute # of voters in multiple-choice polls
  • Admin reports were broken
  • Missing email notifications for group mentions
  • Rounding issue might appear when summing up all the decimals
  • Properly compute the number of voters using only valid options
  • If the email template has multiple subjects, link to customize text page
  • Another missing translation replacement
  • Missing site name key
  • Missing new education keys
  • Anonymized user’s preferences should have system assigned avatar chosen
  • Admin email customization editor should not have bold text
  • Inserting link wouldn’t clear the text field sometimes
  • “Saved!” wasn’t resetting when viewing a different email template
  • Category not updating below suggested topics
  • Don’t ever fetch staged accounts in unseen mentions
  • Validate automatic membership email domains
  • Validate email address in signup form even for 3rd party auths
  • Don’t automagically downsize uploaded images that are larger than 10MB
  • Don’t optimize GIFs since ImageOption was disabled for GIFs (too slow)
  • User archive url field should have absolute URLs
  • Show letter avatars even if NGINX is not running in Dev mode
  • Use an algorithm that doesn’t re-order percentages when rounding them up to 100% in single choice polls
  • Site_contact_user should default to system user, not first admin user
  • Improve windows double clicking on words in editor
  • Perform the same operation on multilines in d-editor
  • Pasting images was broken in Firefox
  • Redirect to forum home page when impersonating
  • Round down percentages when using multiple choices polls
  • Don’t round up to 100% when using multiple choices poll
  • Multiple file uploads wasn’t working due to composer upgrade
  • Admin trust level user list URL should be consistent with new naming
  • Keyboard shortcut to quote reply.
  • Safari on iOS 9 hangs after logging in
  • Remove forgot-password link for SSO enabled instances
  • Don’t send repeat notifications to moderators about the same pending approval users
  • Handle topic/post creation when the language highlighting is turned off
  • Admin section wasn’t correctly highlighting some routes
  • Never show less than 0 replies when embedding
  • Defer requires to avoid future dependencies
  • Clear draft when creating a new topic
  • Missing fallback logic
  • Properly round % so they add up to 100 in polls
  • Search header does not require login for mobile
  • Check for site direction before positioning d-editor-modal
  • I18n overrides should be multisite aware
  • Allow emails to begin with a quote (but skip it!)
  • Test in phantom environment with different selection defaults
  • Keyboard handling regression
  • Sub-categories were listed in parent category dropdown
  • Pressing Ctrl+F twice should close Discourse search window
  • Avoid double load on discovery model change
  • Pluralizations in English locale files
  • Stop sending a blank /favicon.ico
  • Couldn’t migrate database from nothing due to I18n
  • Show error when user already exists in group
  • Replace invalid pluralizations in locale files
  • Handle private category permission error
  • Don’t trigger browser keyboard events when d-editor intercepts
  • Staff was getting 500 when editing post in deleted topic
  • Hrefs in hamburger menu were wrong on subfolder installs
  • Position admin-nav absolutely
  • Compare UTC dates to schedule backups
  • Use proper replaceState when updating a location hash
  • Don’t use mutationObserver in testing mode. Can hang Phantom
  • Enforce ‘allow_uploaded_avatars’ & ‘sso_overrides_avatar’ server-side
  • Do not include word ‘Topics’ in title of category pages for Googlebot
  • Set max limit for max_topic_title_length setting
  • Emoji modal triggered from “more” was broken.
  • Emoji modal height was too short on mobile.
  • Don’t scroll to the bottom when inserting in the middle
  • Remove emoji shortcut. Was conflicting with Euro symbol.
  • Combobox not working with fixed element on iPad
  • Emoji window was too big on mobile
  • More iPad focus issues with new composer
  • Topic progress bar was hidden behind youtube embed header on mobile
  • Regressed editor functionality - scroll position sync
  • Mentioning was broken when username ended with an underscore
  • d-editor wasn’t properly debouncing updates
  • IPad focusing on the title was messing everything up
  • Have the preview refreshed event fire by decorateCooked
  • Add back in footer padding. iPad is broken for other reasons.
  • Use selected text in the link if text is already selected, otherwise, put the URL
  • Upgrade Select2 widget - fixes focus on mobile
  • Tweak the mutationObserver to respect attributes.
  • Should blur the field when closing the progress widget
  • Reply and new Topic broke with new composer
  • PullHotlinkedImages was messing with URL when using Markdown references
  • Automagic image downsizing wasn’t working for GIFs…
  • Some iPad fixes for the new composer
  • When moving posts, retain creator and date from OP
  • Broken tests in phantom, not in browser
  • Don’t normalize URLs before fetching them, only for saving them
  • Couldn’t collapse validation messages
  • Composer text area height on mobile
  • Weirdly displayed link dialog in composer
  • Remove hairline below composer buttons
  • Allow us to insert things between words.
  • Weird UX with d-editor for topic templates
  • Allow emoji class when crawling embedded content
  • Discourse.BaseUri should not default to /
  • Upload modal was broken
  • It should have been an array of arrays…:fired:
  • Better plugin emojis API
  • Delete spammer wasn’t working in /admin/flags
  • Allow emoji class when crawling embedded content, add rspc-html-matchers
  • Use ‘#main’ height to check whether screen is full or not
  • Add ‘max-width’ to images with auto width/height in emails
  • Unicode wasn’t transpiled properly
  • Don’t use transform for the emoji popup, it blurs it
  • Use absolute URL for open graph image tags
  • Add missing dependency
  • Some strings in locale files were not translatable
  • Topic.posters might be null or empty
  • Topic.lastPoster should be based on the ‘latest’ extra
  • Duplicated custom badges in AdminBadgesController.
  • LastPoster not defined correctly in model
  • Resize emoji job was generate errors
  • Prevent cross-contamination of emojis in multisites
  • Prevent infinite loop in PullHotlinkedImages job
  • Show 404 page when user is logged out and navigates to private message
  • Allow exisiting users to be invited to topic/message when enable_local_logins is disabled
  • Better link extraction than URL.regexp
  • Fetch honeypot on init not name change which was error prone
  • Don’t include name in hash when names are disabled.
  • Topic#last_posted_at was not being set when changing topic times…
  • Use a cookie to bypass the anon cache
  • Don’t show an anonymous cache if there is a flash
  • PostAlerter should ignore deleted posts
  • Don’t raise an error if you try to assign a group that exists
  • Better error message for resending activation. Don’t limit staff.
  • Mbox import should respect date order after grouping
  • Loading members on group page was broken
  • Flag button was broken for posts
  • Redirect to return_url when working as SSO provider
  • ‘q’ keyboard shortcut not working.
  • Category topics weren’t refreshing when changing sort order
  • Quote button was broken when the quoted post was unloaded
  • Support subfolder URLs for middle clicking search
  • Incorrect search link
  • Support formatted `>`` quotes in emails
  • This is making oneboxed images way too big (reverts 121426287)
  • Replace polls with a link in emails
  • Don’t run a FULL ANALYZE on first migration.
  • Hide full name field on the signup dialog when ‘enable_names’ is disabled
  • Incorrect profile background styles
  • Wrong root path on subfolder installs
  • Moderators need to choose a category when uncategorized topics are no allowed
  • List-ID should not contain space
  • Typo in teardown of d-editor
  • Fix the shortcut shift+p for pinning/unpinning a topic
  • Fix the shortcuts shift+j and shift+k
  • Emoji toolbar too wide on mobile.
  • Mobile logo was too wide
  • Topic#last_posted_at was not being set when changing topic timestamp.
  • Some reports ignored date range parameters
  • Sorting in a category isn’t working
  • Default selectionStart/end differences in PhantomJS
  • Auto inherit prepared_statements false in multisite
  • Incorrect localization in flagging dialog
  • Min_trust_to_create_topic affects private messages
  • Tests would fail if your test db’s optimized image ids were high
  • Do not mark post as spam if the previous flag was disagreed
  • Pressing Ctrl+F twice should show browser find
  • A poll option cannot be voted more than 100% of the time
  • Whitelist parentheses and brackets in autocomplete.
  • Robots.txt should be accessible even when login is required
  • Race condition when wrapping PostCreator#create in a transaction.
  • Use the first image in the first post in the topic as opengraph image
  • Unescape emojis in digests
  • /my/preferences should prompt users to log in
  • Navigating back to latest was not respecting pinned topics
  • Correct processing of quote line in MyBB import
  • On IOS9 the topic entrance was resizing the topic list
  • Username for topic creation is required
  • Conditions broken in flagging modals.
  • Ensure we can write to the localStorage
  • Explicitly tracked topics will show up even if category is muted
  • Sharing badges were off by 1
  • Permalinks redirect on subfolder installs could add the subfolder to the url twice
  • Sorting was not working in /top
  • Do not notify in title if you created the post
  • Do not show image as category description
  • PhpBB3 importer should ignore unknown topic_id in internal link
  • PhpBB3 importer failed to import users
  • PhpBB3 importer should ignore invalid birthdates
  • Suggested topics showing up when last post not loaded
  • Typo in category-unread.hbs
  • Don’t append when there is nothing to append.
  • Who Liked a Post now shows UserCard when avatar is clicked
  • Stop rendering blank urls for icons
  • Reply as new topic wasn’t working in FF when the post was only composed of an image
  • Align topic-progress with topic-progress-expanded
  • Canonical urls for category and topic pages was wrong when deployed to subfolder
  • Hide ‘Quote Reply’ button when there’s no selection anymore on iOS
  • PhpBB3 importer should ignore unknonw topic_id in internal link
  • Don’t incldue whispers in context emails
  • You can click to see your own PMs from flags
  • Prevent cast error when import_id contains strings and numbers
  • Allow for more than 1 markdown editor instances
  • Avatars weren’t tappable on mobile
  • Timing issue with edits and cook post processing
  • Paginated category and topic pages should not have canonical tag
  • Similar topics lacked badge left margin
  • No keepalive tests for rake tasks, shell could be stalling threads
  • Only show the backups link in dashboard to administrators
  • Only display ‘show settings’ buttons to admins
  • Don’t show the ‘new topics’ banner in Top
  • Android is bad at firing touchend, which makes quoting impossible
  • Including info on post queue for non staff
  • Mget not implemented correctly
  • Don’t use Safari hack on Windows Phone
  • Add missing pluralization keys to poll plugin locale
  • Permalinks should work for Discourse categories
  • Clicking Reply with quoted text should work like quote button
  • Allow really long links to work
  • Polls are always editable until the first vote
  • Allow mods/admins to search whispers
  • Replies to whispers must be whispers
  • ReplaceMarkdown should be smart about current caret position
  • Disable cloaked view while running ios positioning hack
  • Whispers should not be revealed in reply to, or reply expansion
  • Badges should never apply to whispers
  • Properly filter badges when they’re on a whisper
  • Only downsize user card & profile backgrounds
  • Reply as new topic was broken when you quoted something
  • max_topics_per_day was not working
  • Notifications & messages were missing from user profile
  • Use translated badge name and slug within notifications
  • Only enabled badges can be granted
  • When replying to a expanded reply, correctly attribute author
  • 1.4 welcome PM images needed update
  • Sort badges by displayName
  • Use correct badge slug within notifications
  • Use user’s locale for badge notifications
  • Uncategorized topics list is 404 page when allow_uncategorized_topics is turned off
  • On mobile flags could cover the topic map
  • Double load sometimes on topic lists
  • Category Logo preview should not repeat
  • Only disable the composer grip when the device is touch-only
  • Pikaday wasn’t working when using the mouse with a touch-enabled monitor
  • Slugs for badges
  • Don’t subscribe to Desktop Notifications on mobile.
  • Progress bar popup was misaligned
  • Use translated badge names for slugs
  • Use configured slug generater method for badges
  • Remove duplicate keys from locale files
  • Set saving to false about model has been saved.

(Neil Lalonde) #5

UX CHANGES

  • Words in the stats button should be dark grey
  • Improved user summary page
  • Add text-overflow to imgur album description
  • Imgur album width should be dependent on album description
  • Center align exceptions page button on mobile
  • Logs notice close button not positioned properly.
  • Buttons not positioned within form.
  • Show a user’s badges as cards
  • Show badges as cards on the badges index and show page
  • User invite email style should be consistent with other user notifications
  • Make user info rendering more consistent
  • Move wiki button in post wrench
  • Improve icon positioning on mobile
  • Center align community title text in mobile
  • Show accurate date and time on admin user page
  • Improved details tag for elided messages
  • Show emoji in topic title on groups page
  • Add icons to mobile Topic Controls drop down
  • Default h1 is just way too big
  • Mobile specific style for Admin IP Lookup box
  • Better error message when inviting user to a topic
  • Better error message when logging out in read only mode.
  • Double show double hr when there aren’t any notifications.
  • In Reply / Previous Replies some times purple in gmail
  • Hide confusing instructions when email_always is enabled
  • Don’t display span if there is no count.
  • Revert full page search focus on magnifying glass click
  • Hide close mobile navigation on click.
  • Rerender the like before the promise resolves.
  • Stop taking you to user page when compose private message is called
  • Improve messaging so notifications list is far more stable
  • Fix a bunch of overflowing links on mobile nav.
  • Envelope glyph for suggested PMs
  • Initial take at collapsing mobile nav on user page
  • Set max-width on category column to trigger overflow.
  • Set max-width in order to trigger overflow.
  • Change ‘Visit Topic’ to ‘Visit Message’ for message notification email
  • Allow for an optional toolbar in composer in mobile
  • Tweak autocomplete to limit hijacking
  • Use i18n for date picker
  • Date Picker in user preferences was ugly
  • Match mention styling with username styling on top of post
  • Tweak mention color to match username color in post header.
  • Hashtag color for dark theme.
  • Preserve localization in digest email
  • Distinguish between noun and verb for “Archive”
  • Change glyph when inviting existing user to a topic
  • Improve styling of messages and mobile view of messages
  • Remove category hashtag decoration.
  • Show translated badge names and badge groupings
  • Smaller margins for category badges.
  • Set max-width for topic list
  • Improve copy for toolbar button that triggers emojis modal.
  • Handle long words in topic title
  • Remove glyphs from user page for now
  • Fix styling on group page
  • Move message button to top, hide from non-self
  • Improve user page styling
  • Add CSS class to user mailing list mode preference
  • Prioritize categories autocomplete with new rules.
  • Use “modern” button style in badge groupings dialog
  • Replace :green_heart: with :heart: in slack unfurling
  • Missing tag attribute.
  • Add saving status to groups admin.
  • Too much spacing between usernames.
  • Properly parse activity column
  • Show ellipsis for long category names
  • On mobile use a dropdown for topic controls instead of many buttons
  • Upgrade Font Awesome to 4.5.0
  • Hide group’s incoming_email field unless ‘email_in’ is enabled
  • Dropdowns overlay the header
  • Show category description beside logo
  • Use pastel blue background for topic education pop-ups
  • Load onebox CSS at the end for embed stylesheet
  • Hide support categories from selectors
  • Reviving old topic popup should not have red warning background
  • After successfully submitting the forgot password form, show a new modal with a message and OK button
  • Better flag modal on mobile
  • Username should always be case sensitive in user card
  • Trigger autocompleter only for specific characters.
  • Better flagging options
  • Fix misaligned topic list border.
  • Focus composer input after adding text.
  • Use localized date format in digest email
  • Show translated modifier keys in editor shortcuts
  • Staff color on posts should be consistent on mobile and desktop
  • Show login screen when anon tries to unsubscribe topic
  • Move ‘new dot’ in mobile topics lists at the end of the topic title
  • Dim the composer buttons like they used to be
  • Add mobile love to admin-nav for Plugin Pages
  • Lighten background of Suggested Topics pop-up
  • Improve show badge page on mobile
  • No avatar for pinned topics on mobile topics list
  • Resize stackexchange onebox image
  • Move imgur album CSS to Discourse repo
  • Simplify Dismiss menu
  • Use ‘last poster’ avatar for mobile topics list
  • Universal date format in digest email
  • Add custom classes to the profile page to permit hiding the invited_by and trust_level fields
  • Always show the avatar modal now that we have the letter avatars
  • Hide topic list views column on `<= 850px w
  • New topics list for mobile
  • Don’t show an empty list when all extensions are authorized
  • Change Dismiss button title and add tooltip
  • If you only had a checkbox user field, it was hoisting Location
  • Misaligned buttons in image uploader.
  • Show a loading spinner when loading an post you’re editing.
  • Show a nicer “Log In” screen if the user follows /my/preferences
  • Clip long category names in suggested topics
  • Emoji toolbar on mobile.
  • Emoji Toolbar was too wide on mobile.
  • Clearer delete user action buttons
  • Post action glyphs color on mobile should match desktop color
  • Do not default link title tag to label
  • Topic link should not take full width.
  • Always show logout link in user menu, use CSS to hide
  • Fix links in gutter taking up full width.
  • Make old twitter oneboxes look good

SECURITY CHANGES

  • Only add elided part of email in PM
  • Support for confirm old as well as new email accounts
  • Strip HTML tags in topic title in email digest
  • Upgrade Sprockets.
  • Hoist blocks using guids, not md5 hashes
  • Topic titles can show up in user page unescaped when streamed in
  • Fix XSS in lazyYT plugin
  • User summary could show topic links you have no permissions to
  • Upgrade rails.
  • Upgrade Ember to fix CVE-2015-7565. Also upgrade Handlebars
  • Upgrade Ember to fix CVE-2015-7565
  • Ensure we never accept fake images
  • Backported XSS fixes from Handlebars
  • XSS Protection on Queued Posts
  • A user could XSS themselves on their preference page
  • Unread post notifications should respect whispers
  • Moderators should not see API keys
  • XSS in search results term

PERFORMANCE

  • Render logo significantly faster
  • Use widgets to render categories in hamburger menu
  • Stop rebuilding full directory item table on refresh
  • Move 3 more option columns out of the user table
  • Shift most user options out of the user table
  • Improve performance of notifcation lookup queries
  • Improve performance of consistency query
  • Cut down on memory usage allowed to redis
  • Fix N+1 on categories page
  • Remove 10-20ms of work from every page view
  • Send Content-Length from Rails on all requests
  • Only subscribe to a topic once for polls
  • Don’t publish notification state unless it changed
  • Use a regexp for unicode replacements
  • Properly preload all category notification levels
  • Proxy avatars locally when stored on s3
  • Limit number of user actions retrieved to a saner page size
  • Stop running VACUUM FULL only run VACUUM
  • Move message bus to the front of the middleware stack
  • DISCOURSE_NO_CONSTANTS removed
  • Stop loading handlebars and ember compilers in prod
  • Attempt to omit template compiler in prd
  • Add one more asset for ember and jQuery
  • Cache information about missing view classes.
  • Much more performant, multisite aware I18n overrides
  • Shrink mobile payload, don’t render for noscript on mobile
  • Only use fulltext when searching for a user (I checked, it’s enough)
  • Add ‘lower(title)’ index on topics
  • Optimize export user list CSV queries
  • Disable prepared statements
  • Remove double request when sorting topics lists
  • Instead of N redis operations perform in bulk
  • Avoid needless :try invokes respond_to? etc
  • Memoize to avoid N+1 query in category page
  • Avoid method_missing
  • Only render 30 site settings in “All” when filtering
  • Optimise new/unread query
  • Introduce full cache for site json when anon
  • Introduce fragment caches in site serializer
  • Omit needless query
  • Increase caching of category descriptions
  • Avoid needless queries on non private messages
  • Better caching in topic view
  • Cache fancy_title in topics table
  • Omit 2 queries on every full page load
  • Improve perf of initial payload

(Jeff Atwood) #6