New Trac notifications feature

Monday’s long list of improvements to Trac was just the first course. Introducing per-ticketticket Created for both bug reports and feature development on the bug tracker. notifications.

Just above the comment box, you’ll see a new notifications pane. Here, you can watch/unwatch tickets.

This means TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.’s terrible email address CC feature is gone. (Last night, I migrated over about 15,000 CCs going back nine years.) Old comments that are just CCs are now hidden via JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors., which makes a few of the busier or popular tickets easier to skim.

You can also click the star next to the ticket number at the top:

Screen Shot 2014-01-09 at 4.38.22 PM

Watching a ticket adds it to some new reports: open tickets I’m watching and all tickets I’m watching. Now your list of starred tickets are all in one place.

Coming soon: You’ll be able to watch/unwatch a ticket directly from a report, like starring conversations in a Gmail inbox (edit: added). You’ll also be able to subscribe to entire components and milestones (here’s a sneak peek). And, @-mentions will let you add someone to a ticket.

A note on how this is implemented: isn’t just subscribe/unsubscribe. “Watch” can also be thought of as “Vote” or “Star” or “Favorite”. We’ll soon add a star count to reports (next to the new Comments column — edit: added). If you’re watching a ticket, you’ll always get notifications. If you’re not, you might still get notifications if you reported the ticket, or are subscribed to that ticket’s component or milestone, or if you’ve been mentioned (and the notifications box will tell you that). From there, you have the option to actively “Watch” the ticket, passively continue to receive notifications, or specifically mute/blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. notifications coming from that ticket.

Follow-up question from @sabreuse, about watching/voting/starring/favoriting: If you subscribe to the “firehose” (wp-trac mailing list) and receive all notifications anyway, should you star tickets anyway as an indication of interest? Yes, I’d say so! (If you receive the mailing list to the same email address as your WP.org profile, you’ll only receive one email. It’s possible your mail client could ascertain you received it as a BCC versus just via a mailing list, though I’m not sure.)

Feedback, ideas, suggestions are very much appreciated. Also, all of this code is open source (a lot of it is a WordPress pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party).

Edit, bonus: @ocean90 converted most icons on Trac into Dashicons.

#notifications, #trac

Lots of improvements to Core Trac

Over the holidays, I was sick for two weeks (boo). While resting and recovering, I took to working on our tools (yay). Specifically, TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.. Here’s an overview of the added features, enhancements, and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes. There’s a lot (and more on the way), so I’ll try to keep each point brief. If you have any questions I’d be happy to elaborate in the comments.
Continue reading

#trac

The email used for notifications on Trac is…

The email used for notifications on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. is currently specified in Trac preferences. I’m changing this to pull automatically from your WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ profile. After this change, there will not be a way to have a separate email address for Trac and any manually specified email address will be overridden.

We need to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). this change because, very simply, it’s a better user experience. By killing this extra user preference, it’s one less step users need to set up in order to receive notifications. (And a tighter feedback loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. could possibly boost engagement.)

That will affect about a thousand users we have in the system, probably incidentally for most. But, about 50-100 users might have been deliberately declaring a separate email address; for example 50 users had “trac” appear specifically in their email. Even without a dedicated email, it is trivial to filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. Trac emails; you just might need to make some adjustments.

As you may have noticed, this is part of a series of changes I’ve been making to Trac. I’ll be doing a summary post in a few days outlining everything that has changed.

NOTE: This does not affect wp-trac@lists.automattic.com. If you subscribe to the “firehose” this is not affected.

Edit, 20:23 UTC. This is now enabled. For the moment, the email address will sync when you next visit Trac. Please find me if you have any questions.

#housekeeping, #trac

Trac email issues are fixed

Unfortunately, the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. mailing lists for WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and BuddyPress were missing many tickets and comments over the last few days. (From about October 15, 12pm ET to about October 17, 2am ET, an hour ago.)

I OK’d a change to the Trac configs, but forgot about the restrictive mailman rules designed to blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. spam on these read-only lists. My bad.

Many of us of course rely on these mailing lists, to the point where if it fails, we miss comments or entire tickets. To explain why you may have gotten some emails, but not all: You would have gotten it directly from Trac (rather than the mailing list) if you were already participating on a ticketticket Created for both bug reports and feature development on the bug tracker..

I’ve added support for ticket comments directly in the Trac timeline across all Trac instances on wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/. Here are links to days with missing time periods:

Note that the “From” email for these mailing lists is now noreply@wordpress.org. Rather than something@lists.automattic.com. You may need to adjust Gmail filters as appropriate (there hasn’t been a spam issue on these lists for some time; consider targeting list headers).

Let me know if you have any lingering issues or questions.

#trac

Marking duplicate tickets on Trac

Marking duplicate tickets on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. just got a bit smarter and easier. Now, when you mark a ticketticket Created for both bug reports and feature development on the bug tracker. a duplicate, you specify the other ticket. A comment will be cross-posted there that references the duplicate, so you don’t have to.

You can optionally include a comment and any other ticket property changes, as before. If your comment doesn’t include a reference to the ticket, it’ll automatically add it.

A side effect of how the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party is written (it’s a modified version of this one) is that no email notification is sent for the “#___ was marked as a duplicate.” This is great because it avoids a double-email (that until now would happen manually). On the other hand, if you consume Trac via your inbox like me, you might expect that the next email is the other ticket, floated to the surface again. I’ll leave it as is for now.

#trac

Trac updates and a design refresh

Every few months we makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). a few improvements to TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.. Given how many hours so many of us spend on there, even the smallest changes can make a big difference. Today, a few new changes were deployedDeploy Launching code from a local development environment to the production web server, so that it's available to visitors..

The first thing you’ll notice is a design refresh, from @helenyhou and @ocean90. It cools down the colors a bit and places more of our own mark on it (more WP-like, less Trac-y). They also added responsiveness for mobile devices, and made some adjustments to improve readability. See #18211. If you notice any bugs or quirks, please leave a comment there.

From @iammattthomas, the WordPress logo is now HiDPI.

If you’re a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. gardener (i.e. you can change milestones, etc.), you can now change the resolution of a closed ticketticket Created for both bug reports and feature development on the bug tracker.. This should make @sergeybiryukov happy — no more re-open to re-close.

Over the last few weeks I’ve given more than a dozen people bug gardener status. We’d like to empower the people we know and trust to make decisions, while making Trac simpler for others.

For those who aren’t bug gardeners, we’re trying to make it as easy and streamlined as possible for you to create and contribute to tickets. @bpetty has been studying our workflow and recommending changes. One of those is we’ve hidden the ability to change ownership of a ticket (accept/assign/reviewing). A big issue with ownership is it sometimes discourages others from contributing. I hope this change can free us up to using that field for tracking responsibility and accountability.

Non-gardeners can also no longer label tickets a “task”. Also, once the Version field is set, a user can’t update the field to a newer version, only an older one. (As @sergeybiryukov says, “version number indicates when the bug was initially introduced/reported.” It’s the earliest known affected version for a bug, or the earliest applicable version for an enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature..)

And finally, if you add the “has-patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing.” keyword to a ticket, “needs-patch” will automatically be removed, and vice versa. (It’s the little things.)

I hope you enjoy this round of changes. If you have any further suggestions, please share in the comments.

Bonus. A few weeks ago, we added a ticket graph, inspired by jQuery and using their plugin as a base. I hope to add some more functionality to this in the future. For now, a few of us are using it to study trends and come up with some new ideas for how we can best maintain the ticket queues.

#trac

I cleared out all tickets in Awaiting Review…

I cleared out all tickets in Awaiting Review with a reported version of 3.3. They would normally show up at the top of report 40.

If anyone wants to help triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. the next group — “Defects Awaiting Review, reported against no version” (59 tickets) — here’s some ways to triage a ticketticket Created for both bug reports and feature development on the bug tracker.:
— If it’s an enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. or feature requestfeature request A feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged., change the ticket type.
— If it’s a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. that effects a previously released version of WordPress, then change the version field.
— If there isn’t enough information in the ticket, ask the reporter for more information and add the “reporter-feedback” keyword.

The main goal here is to identify regressions from 3.2 to 3.3, i.e., things that broke during this development cycle. We typically do a sweep each releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. not long before RC1, to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). sure we didn’t miss a bad bug that was already reported.

#trac

I’ve ported over all of the core Trac…

I’ve ported over all of the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. modifications to the BuddyPress and bbPressbbPress Free, open source software built on top of WordPress for easily creating forums on sites. https://bbpress.org. Tracs. In the process, core Trac has been given a fresh coat of paint, and the old Trac logo has been retired.

Also in the process, I’ve fixed a few bugs:

  • Bad link to the Security FAQ, #17479
  • Ticketticket Created for both bug reports and feature development on the bug tracker. fields are too wide in Firefox, #16582
  • Keywords cannot be removed on some browsers (well, Android) thanks to missing href attribute

Thanks JJJ, MT, and Barry for their assistance.

#trac

There’s a 3.3 milestone on Trac but please…

There’s a 3.3 milestone on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., but please, no tickets (except by committers) until we hold our scope session starting next week.

#trac

If anyone has time this week there are…

If anyone has time this week, there are about 100 tickets that need to be reviewed for potential 3.2 issues we missed. The first page of Report 40 lists “Defects Awaiting Review, reported against trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.” and “Defects Awaiting Review, reported against no version.”

Basically, we’re just looking for bugs to 3.2 features, and regressions. Many of these either need the version numbers dropped (or added) or converted to enhancements. If someone wants to do full triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors., pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” me or someone in IRCIRC Internet Relay Chat, a network where users can have conversations online. IRC channels are used widely by open source projects, and by WordPress. The primary WordPress channels are #wordpress and #wordpress-dev, on irc.freenode.net. and we’ll arrange milestone adjustments.

Update: Specifics on how to help.

  • The Version field is for the earliest known version that the ticketticket Created for both bug reports and feature development on the bug tracker. affects. For bugs, this would be the version to which it applies or was introduced. All the ones that say “3.2,” if they aren’t new bugs in 3.2, then they should be changed to 3.1 or, for extra credit, earlier.

  • If the ticket is pushing for an enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature., rather than reporting a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority., then simply change the Type field to “enhancement.” (Rarely “feature requestfeature request A feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged.,” never “task.”)

(Contributors who have participated on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. before will of course know to adjust keywords, perhaps even adjust milestones and what not. But these are two simple ways to help clean up this report.)

#trac, #triage