THCFarmer upgrades completed

  • Thread starter logic
  • Start date
  • Tagged users None


Sorry for the extended downtime tonight the upgrades took a little longer than expected.

Over the past 10 months we have painstakingly read and optimized thousands of lines of code, and made improvements at every possible stage.
Hope you enjoy the new thcfarmer. 👍

Did THCFarmer help you today?
Support us! We are indie developers!
This site is made by just three indie developers on a laptop doing marketing, support and development.

Become a Premium Member ($10/month) and browse add free!

Also here is a list of bugs that have been fixed during the last 10 months.
  • Fix erroneous phrase in success alert when posting a reply before registering
  • Ensure that service worker offline caching does not trigger session activity updates (or various other assertions)
  • Allow insertTable and xfBbCode commands to be added to custom dropdowns. Prevent paragraphFormat command being added.
  • Empty the mail queue when upgrading to 2.2 due to underlying Swiftmailer changes and catch errors (as well as exceptions) during mail sending to prevent queue items from becoming stuck.
  • Only bail out of toggling the editor preview when the editor is empty if you are not already previewing.
  • Fix displaying emoji phrases when the shortname contains an accented character and fix issue with accented shortname emojis from being converted.
  • Bail out of matching a URL to BB code media sites if the string matches censor words.
  • More consistently apply permission dependencies when passing from global to content-level permissions. Display permission changes due to failed dependencies when analyzing.
  • Expose unread state for conversations and conversation messages
  • Bypass global visibility check when trying to validate usernames for registration
  • Add missing phrases when Gravatar rebuild is run.
  • On the registration form, update the username field's explain text as usernames can be changed now
  • Ensure article preview images aren't underlined when hovered over
  • In the RTE, do not parse for emojis when smilies are disabled. This is consistent with how BB code is normally rendered.
  • Ensure that Attachment::getDirectUrl only returns raw display URLs when the attachment is viewable
  • Remove content voting links from HTML if the visitor cannot use them
  • Apply width: auto to the small logo to ensure it maintains the correct aspect ratio when resized
  • Fix email sharing link
  • Add PHPDocs to noPermission() and notFound() controller methods
  • Fix opt-in functionality of the entity changelog behavior
  • Properly sort columns for forum default sort orders
  • Handle heading BB codes without a type option
  • Apply base URL to relative notice display images
  • Do not escape moderator log list entry action texts after stripping tags
  • Catch class load errors when applying session activity details on PHP 7+
  • Throw exceptions correctly in the alert API controller.
  • Ensure that the "no matches" message in article preview forums always spans the full width.
  • When merging posts, force the target post to be visible if it will become the first post of the thread.
  • Disable user mention parsing within custom BB codes that disable auto linking or BB code parsing
  • When setting a default title for avatars, do not override a custom version
  • Use the correct forum type node icon in the sub forum menu/list
  • Fix typo that prevents alerts from being marked as unread if a confirmation message is shown.
  • Ensure the UI properly respects an explicit request to mark an alert as read or unread when a confirmation message is shown.
  • Fix StylePropertyMap entity ParentProperty relation conditional
  • Fix dynamic redirects for alert and conversation read state toggles
  • Correct a few typos in some CLI commands
  • Fix invalid format specifier in error trace argument builder
  • Break the phrase import query into chunks to avoid a MariaDB performance regression.
  • Fix a MySQL 8.0.22 incompatibility with the 1.x to 2.x upgrade code (related to phrase renames).
  • Allow previewing to work when composing entirely in the BB code editor
  • Respect API permission bypass when checking alert viewability
  • Fix some sort callbacks on PHP 8+
  • Fix PHP 8 compatibility in XML utilities
  • Remove user profile banners when banning users with the spam cleaner
  • Prevent an error caused by GCM push notification subscriptions.
  • When quoting a post, do not include quote tags if they would be empty
  • Give MySQL an index hint to improve performance of newest thread API requests (with no other filters)
  • Prevent an error in the structured data of questions if the plain text version contains no content
  • Fix issue that prevented the RTE from being programmatically focused
  • Relax validation of URLs in BB code content as users may submit URLs that are missing URL encoding in some scenarios.
  • When a profile banner is applied, ensure that the text stroke applied to the username respects user group-based username CSS modifications.
  • Prevent an error when rendering article previews if the thread's first post is not set correctly
  • Prevent double URL autolinking when an unfurled URL contains a URL within it.
  • Ensure that Facebook embeds are always responsive.
  • Fix permission check when removing tags with the tag changer service
  • Do not grant the change username permission to the unconfirmed user group when upgrading to 2.2 (from 2.1 or earlier). For existing upgrades, remove the permission from this group explicitly. If you wish to allow unconfirmed users to change their usernames, the permission will need to be explicitly re-added after upgrading to 2.2.2.
  • Ensure that the RTE preview tab does not expand unexpectedly if there are no right aligned toolbar icons.
  • Fix typo in overlay click options list.
  • Ensure that BB code blocks (code, quote, and similar) do not appear behind floated images.
  • Prevent an error when fetching a post that contains an embedded video via the API.
  • Prevent invalid characters from being displayed in certain cases when highlighting search results.
  • When clicking "more options", ensure that thread type-related fields don't come from a saved draft
  • Render push templates with the receiver as the visitor
  • Apply a content type to the username change entity.
  • Ensure that banned users do not receive an activity summary email.
  • Fix a situation where the "display children in navigation" option for node-based navigation entries does not work.
  • Apply explanation tooltips more consistently to the account header section.
  • Allow Google Analytics 4 measurement IDs as well as Universal Analytics property IDs.
  • Allow passing through JS options for sticky submit rows
  • Provide an option to use the given user's language when calling \XF::asVisitor()
  • Ensure post ad positions are retained in article template extensions, and exclude them from appearing in article forums with an expanded display
  • Disable auto closing HTML tags in the template modification find and replace inputs.
  • When importing from another XF installation, properly rewrite quotes which are missing a member ID
  • When sticking/unsticking the header, ensure that child controls are updated correctly.
  • Prevent text overflow with unbroken character strings when using when using the article forum preview display.
  • Ensure that the article cover image notice appears using the correct row styling and only in situations where it's potentially relevant.
  • Fix PHP 8 compatibility issue relating to push notifications.
  • Fetch the list of unviewable forums more efficiently when searching.
  • Adjust the wording of the allowed attachment file extensions option to be clearer.
  • Prevent an error if a thread shown in an article preview forum is missing the first post relationship.
  • Remove superfluous curly brace in poll_macros template.
  • Rename the "Spin box" phrase to "Number box".
  • Fix N+1 query issues when viewing article forums.
  • Fix typo in the "Editor background when focused" phrase.
  • Ensure content types are phrased when displayed in the spam trigger log.
  • Fix N+1 query issues when viewing attempting to find new profile posts.
  • With development mode enabled, ensure we load the unminified version of the select2 library.
  • When viewing a full page list of reactions for a profile post comment, ensure the breadcrumbs array is correctly formed and relevant.
  • Change phrase edit fields to be normal text fields to workaround an issue with some devices accessing particular punctuation or characters.
  • Ensure that line breaks within inline code blocks are not doubled.
  • Optimize marking multiple forums read at once.
  • Ensure that CLI requests receive reasonable request path values (for URL generation purposes)
  • Adjust the "expanded articles per page" wording to be clearer that it applies to preview and expanded article forum views.
  • Extend handling of pasting content from the Edge address bar to ensure only the URL portion is pasted.
  • Correctly display a message when a suggestion has been closed (similar to when a suggestion has been implemented).
  • Prevent an error from a race condition related to search forum cache generation.
  • Display an icon for search forums when displayed in a sub-forum dropdown.
  • Do not require full user management permissions for username autocompletion in the control panel.
  • Prevent a JS error when using select-to-quote on a code tag.
  • When autocompleting a username, maintain the highlighted component when escaped characters are used.
  • For API actions that require guests to have a username specified (like posting a message), allow this to be globally set via the api_guest_username parameter
  • Protect against a division by zero error when running jobs/cache rebuilds.
  • Improve video validation for a specific type of MP4 video file.
  • Ensure that when building URLs to the external data directory, we always build the URL relative to the root XF directory.
  • Fix a situation where Safari would redirect to the service worker JS file.
  • Prevent Safari from scrolling to the bottom of the page when autofocusing an input within a menu.
  • Expand the allowed format for StopForumSpam API keys.
  • Tweak the labels on the account privacy page for more consistency.
  • Increase the length of the discussion_type field for threads to account for long thread type IDs.
  • Fix a typo in class name on the forum filters popup
  • Adjust the description for the "Maximum expandable BB code block height" style property to better illustrate its behaviour.
  • If the Clipboard API isn't available (due to lack of HTTPS for example), ensure "Copy to clipboard" buttons are hidden
  • Ensure the mobile navigation trigger has an accessible name
  • Use findRelativeIf within XF.Nestable to find inputs
  • Fix phrase params with profile post and profile post comment content titles
  • If the GIPHY API returns an error, don't throw an exception and instead return a prettier error message.
  • Allow custom statement descriptors to be set for Stripe payment profiles.
  • Ensure multi-quote system does not overwrite unintended parts of the attachment upload request.
  • Allow the "must login or register to reply" button to wrap if needed.
  • Prevent an error from being sporadically triggered when cleaning up the filesystem cache.
  • Prevent an error when checking if a conversation can be started with a user who is unexpectedly missing part of their profile data.
  • Ensure that "click to expand" links are treated as buttons and are keyboard-navigation accessible.
  • When logging in via an API generated token, allow the existing logged in user to be replaced (if logged in as a different user) with the new user if force=1 appended to the URL.
  • When an account that does not have a password set is requesting a new password, ensure some amount of rate limiting is imposed to avoid repeat requests.
  • Add support for using $context inside widget display condition field.
  • Properly maintain the full table markup when selectively quoting only part of a table.
  • Fix search result highlighting issues with certain non-ASCII characters.
  • Prevent double conversion of CSS rules to BB code equivalents in some situations.
  • When viewing the registerd members list, ensure unviewable member stat categories are filtered out from the sidebar.
  • Ensure toggle:hidden event is triggered correctly when hiding toggle elements.
  • Clean up news feed records belonging to posts when their thread is hard deleted.
  • If a thread as multiple sort options, ensure the additional links are marked as nofollow
  • Mark go-to links in quotes as nofollow
  • When viewing the latest activity of an ignored member, show a link to view ignored content
  • Prevent HTML errors outputting from Xdebug in some cases.
  • When searching within a specific forum, ensure child forums are included in all cases.
  • Adjust Auth::actionPost API documentation to recommend the login/password parameters should be passed into the request body to go along with a general recommendation in our development documentation that this should generally be done for all non-GET requests.
  • When a pre-registration action is triggered, only show the welcome message if this is newly registered user.
  • Correctly pass state of $forceCaptcha to contact_form template
  • Disable a table quick insert button that sometimes appears in the rich text editor.
  • Update phpdoc on entityColumnsToJson method to indicate the correct return type.
  • If the unregistered group has the view permission revoked ensure that failed CAPTCHAs can successfully be reloaded in the event of an error.
  • Fix an issue preventing installs from the command line when using PHP 8
  • Avoid unexpected layout shifts when embedded images/attachments have known dimensions.
  • Throw a required input missing error if the avatar file is not included in the request. PHPdoc updated to reflect the requirement in the online API docs.
  • Ensure user rejection reasons can't exceed the 200 character limit
  • Update PhpBb3 authentication handler to support verifying passwords using native PHP methods where possible.
  • Render phrases presented as $value to XML createDomElement()
  • Don't merge identical sibling URL and EMAIL bbcode tags
  • For consistent behavior across PHP versions, explicitly trigger a notice if an array is passed in to XF::escapeString
  • When inserting multiple attachments, allow the "thumbnail" button to insert audio/video attachments which do not support thumbnails.
  • Maintain the single thread search constraint when returning to the advanced search form.
  • Ensure that about and signature are not censored before rendering as BB code.
  • In question and suggestion forums, ensure that all tab constraints are maintained in the filtering menu.
  • Save undo points in the RTE when triggering certain actions such as quoting a message.
  • Prevent an error on some browsers when inserting a video through the rich text editor.
  • When importing users, if the primary user_group_id also appears in the secondary_group_ids field then remove it.
  • Create a new POST post/{id}/mark-solution endpoint, to toggle/switch the solution post. Returns old_solution_post and new_solution_post to allow switching behaviours.
  • Adjust universal lightbox option explanation
  • Properly escape some phrases in HTML attributes
  • Fix group sorting of field cache data
  • Add a note about step dependencies to the import step chooser
  • Don't throw an error when trying to add an admin on PHP 8
  • Check permissions before displaying add-on control links
  • Display option values when editing the current email transport method
  • Trigger events when toggling the display of disabler containers
  • Adjust new thread and search forum widget expanded display explanation
  • When autolinking post content do not autolink if we match www. followed by an additional dot.
  • When installing XF via the command line if the confirm password doesn't match the original password then go back to the original password prompt.
  • Allow 'sort' to be passed to profile-posts/{id}/comments in order to get posts in asc/desc date order


I'm having a small problem, when I hit new posts, I only get the name of the person that made the comment, so when I click on last comment, I go to their profile page, no time stamp, and I have to go threw the whole thread to the last comment, to reply, is it just me? Thanks in advance. 👍

not just you, I can't see the latest post on any thread either since the update. I'm going to try a different browser but it would be very frustrating to not have that link anymore.


not just you, I can't see the latest post on any thread either since the update. I'm going to try a different browser but it would be very frustrating to not have that link anymore.
im sorry i dont understand what you mean, any way you can make a screenshot to explain to me and i can fix it for you


im sorry i dont understand what you mean, any way you can make a screenshot to explain to me and i can fix it for you

before the update when we were in one of the forum searches we could see the date and time when the last post on a thread was made, when clicking on this time stamp it was a direct link to the last post made on that thread. here where i circled your name on this thread it would have the time stamp link just under you name. and it affects all the searches... new post, watched, anything under the forum button.

Screenshot 2021-05-02 175655.png

thanks for your time in looking into it!!!


before the update when we were in one of the forum searches we could see the date and time when the last post on a thread was made, when clicking on this time stamp it was a direct link to the last post made on that thread. here where i circled your name on this thread it would have the time stamp link just under you name. and it affects all the searches... new post, watched, anything under the forum button.

View attachment 1119894

thanks for your time in looking into it!!!

This is now fixed thank you for taking your time to report the issue.
Top Bottom