I’m inaugurating a new trac keyword, “…

I’m inaugurating a new trac keyword, “bug-hunt”, and the bug hunt report, in order to keep track of of tickets that get posted/could get posted in this blog’s “bug hunt” posts.

Updated: I’m inaugurating a new trac keyword, “featured”, and the featured bugs report, in order to keep track of of tickets that get posted/could get posted in this blog’s “featured bugs” posts.

I’ll be tagging more tickets in due course. You’re most welcome to mark additional tickets as such, if you feel they qualify.

For information, I try to stick to batches of tickets that loosely interfere or interact with one another. The batch of tickets should then meet the two or more of following criteria:

  • It is annoying when you run into the issue
  • It underscores an architectural problem
  • Fixing it can lead to performance optimizations

Areas I plan to highlight in the future include: UUIDs, i18n post slugs, permalinks, rewrite rules, cache, private posts.

Btw, I’d like to stress that the point in these blog posts is try to reverse the WP bug trend:

Open WP bugs, props Hakre

Thus, I’d like to revisit two of my last post’s tickets:

  1. #10779, on optimizing our unzip method. DD32 committed the fix, but marked it as still needing testing. Here’s how. Related ticket #10403 is still pending, but I feel it’s extremely minor compared to #10779.
  2. #10913, on optimizing the upgrade process, is still a major niggler imo. #10611 will probably seem cosmetic if #10913 gets fixed. Two possible solutions are highlighted in the ticket’s comments. It still needs a patch, and of course testing once one is around.

We need your help on both, and on future tickets that will make it in these posts. Thanks for patching/testing.

#bugs, #featured-bugs

So… Jane had asked me to come up with …

So… Jane had asked me to come up with a post now and then that discusses bug squashing. Between the Health Check plugin, chewing on the best way to do this, and noting that our lead devs were quite busy already because of the merge and custom post types, I had yet to start.

The opportunity comes courtesy of Matt’s latest wp-devel post. So here goes… If you’re wondering how you might be able to make the best of DD32’s new contributor status, here’s a selection of WordPress niggles that could use patches, second opinions, and of course lots of testing:

1. #11588 is about actually showing a message to end users during core upgrades. There are occurrences where the host enables an output buffer automatically. When this happens, end users a greeted with a partially loaded screen that can seem to wait forever. Status: ideas submitted for force-flushing, and needs-patch.

2. #10779 is a huge source of grief on overcrowded, low-end servers. Our unzip method is slow and resource hungry, and could use some optimizations. (See also #10403 on the same topic.) Status: needs-testing.

3. Another possible optimizations for these same servers would be #10611. The idea would be to only upgrade the files that changed, when upgrading minor releases. Status: needs-patch.

4. #10913 highlights the reason why failed upgrades are such a source of grief. When using the FTP transport, file stats don’t get cached, and so we end up needing to re-check the status of each of them constantly. On the slower servers, the optional clean up + unzip + upload + clean up procedure frequently fails because of it. The whole process could be optimized by caching $fs::is_file() and $fs::is_dir(). Status: needs-patch.

5. #8830 loosely relates to the filesystem, but definitely seems to cause grief for users with an open_basedir restriction in effect. From the looks of it, a simple rtrim() call could fix wp_mkdir_p() on those system. Status: needs-testing.

6. #10889 highlights inconsistent methods between the WP Filesystem methods. I’m 90% sure that it prevents the .maintenance file from being added on some sites. Status: commit?

And that’ll be the last of today’s pick of crippling install/upgrade bugs. Please keep in mind that this is the first of a hopefully long series of posts. Feedback is welcome on the way it gets presented. Should it be more focused on less specific bugs, less focused but on more bugs, less focused on less bugs, or is it reasonably balanced as above?

Next in line, I think, will be a post that discusses the use of UUIDs to fix a couple of tickets, along the lines of #11145. Now that we’ve MySQL 4.1.2, we might as well take advantage of them.

#bugs, #featured-bugs

Permalinks with the structure /index.php …

Permalinks with the structure /index.php/%postname%/ (or the same, without the trailing slash) now work. And now the tag/category bases are normalized to have no leading/trailing slash, so it’ll just be topics or tagged for example.

#bugs, #categories, #permalinks, #tags

Nailed that lame bug that would redirect …

Nailed that lame bug that would redirect you to the preview URL after your first post save (but only sometimes).

#251, #bugs

With the help of AaronCampbell, the shor …

With the help of AaronCampbell, the shortcode HTML issues have been fixed in a flexible way. Now add_shortcode() takes a third (optional) parameter that allows you to have your shortcode be expanded after wpautop() and texturize() are run. Default is before for compatibility with 2.5. For “block-level” shortcodes, you should probably make them run after. For “inline” shortcodes, you should probably make them run before.

Update: We went a different way with this, for the time being. Â Now everything runs at 11, but shortcodes with a buffer line separating them from other content will be recognized as block level and won’t get paragraph-wrapped.

#bugs, #plugins, #shortcodes

Fixed an ugly bug that broke page links …

Fixed an ugly bug that broke page links for setups that use PATH_INFO permalinks with %category% at the beginning of the permalink structure.

#bugs, #permalinks

Making good progress on shortcode (galle …

Making good progress on shortcode (galleries included) parsing and handling. 2.5.1 will run after wpautop(), so shortcode plugin authors will be able to output block-level HTML without WordPress mangling it or wrapping your divs in paragraphs. The rabbit hole goes deeper, however, as the Visual Editor does funky stuff with extra whitespace in shortcodes.

#251, #bugs, #galleries, #validation

fixing little bugs, commiting patches

fixing little bugs, commiting patches

#bugs, #trac

trawling through tickets, applying patch …

trawling through tickets, applying patches, punting new features to 2.6

#bugs

Ticket 5797 needs attention.

Ticket 5797 needs attention. AJAX link category creation.

#ajax, #bugs, #categories